Получение данных из нескольких таблиц. JOIN

Рецепт №128. Из книги «128 рецептов php»
Перейти к оглавлению

Для получения записей сразу из нескольких таблиц можно воспользоваться оператором JOIN, который объединяет таблицы. Например, необходимо получить все заказы пользователя. Пользователи находятся в одной таблице(tbl_users), а заказы в другой(tbl_orders). В таком случае, необходимо связать эти таблицы, по полю ID пользователя, которое должно быть в таблице пользователей и в таблице с заказами. Для получения заказов пользователя с ID 1, запрос будет выглядеть следующим образом:
Читать далее «Получение данных из нескольких таблиц. JOIN»

Выборка по сгруппированным строкам. HAVING

Рецепт №127. Из книги «128 рецептов php»
Перейти к оглавлению

В предыдущем рецепте, с помощью GROUP BY были сгруппированы строки — группировались пользователи по фамилиям и для каждой группы находился самый большой возраст. Иногда бывает необходимо помимо всего этого, еще и отсортировать полученные группы по какому-нибудь условию. Например, получить группы фамилий, у которых минимальный возраст превышает 18 лет. В таких случаях можно воспользоваться оператором HAVING, он добавляется в SQL-запрос после группировки:
Читать далее «Выборка по сгруппированным строкам. HAVING»

Получение сгруппированных строк. GROUP BY

Рецепт №126. Из книги «128 рецептов php»
Перейти к оглавлению

Иногда необходимо получить какие-то данные для сгруппированных строк, например, узнать максимальный возраст для всех Ивановых, Петровых и тд. То есть необходимо сгруппировать всех пользователей по фамилии и получить для них максимальный возраст. Для этих целей можно воспользоваться SQL-запросом с оператором GROUP BY. Запрос будет выглядеть так:
Читать далее «Получение сгруппированных строк. GROUP BY»

Наибольшее и наименьшее значение в таблице

Рецепт №125. Из книги «128 рецептов php»
Перейти к оглавлению

Получить максимальное и минимальное значение из таблицы можно, добавив в SQL-запрос две специальные функции – max и min, которые осуществляют выборку:
Читать далее «Наибольшее и наименьшее значение в таблице»

Получение отсортированных данных. ORDER BY

Рецепт №124. Из книги «128 рецептов php»
Перейти к оглавлению

При SQL-запросе на получение данных, можно сразу реализовать сортировку строк по необходимому столбцу или по нескольким столбцам. Для сортировки данных необходимо дописать оператор ORDER BY в конец SQL-запроса, осуществляющего выборку данных. Запрос будет выглядеть следующим образом:
Читать далее «Получение отсортированных данных. ORDER BY»

Получение данных с лимитом строк. LIMIT

Рецепт №123. Из книги «128 рецептов php»
Перейти к оглавлению

Получить данные по определенному лимиту, например, не больше трех строк, можно с помощью немного модифицированного SQL-запроса для получения данных из таблицы, который был описан в рецепте «Получение данных из БД». SQL-запрос должен быть дополнен оператором LIMIT, выглядеть новый запрос будет так:
Читать далее «Получение данных с лимитом строк. LIMIT»

Удаление записи в таблице. DELETE

Рецепт №122. Из книги «128 рецептов php»
Перейти к оглавлению

Для удаления записи, как и в предыдущих рецептах, для каких-либо взаимодействий с базой данных и ее таблицами, необходимо отправлять SQL-запрос с помощью функции mysql_query.
Запрос на удаление записи выглядит не сложнее других:
Читать далее «Удаление записи в таблице. DELETE»

Обновить запись в таблице. UPDATE

Рецепт №121. Из книги «128 рецептов php»
Перейти к оглавлению

Обновить запись в таблице базы данных можно с помощью отправки SQL-запроса, функцией mysql_query.
Пример SQL-запроса:
Читать далее «Обновить запись в таблице. UPDATE»

Количество записей(строк) в результате

Рецепт №120. Из книги «128 рецептов php»
Перейти к оглавлению

При необходимости, сразу после выполнения SQL-запроса, можно узнать количество рядов результата, без предварительной обработки запроса. Для этого можно использовать php функцию mysql_num_rows.
Читать далее «Количество записей(строк) в результате»

Получение данных с фильтрацией. WHERE

Рецепт №119. Из книги «128 рецептов php»
Перейти к оглавлению

В прошлом рецепте было реализовано получение всех записей из таблицы. Такие запросы в реальном мире встречаются крайне редко, поскольку практически всегда необходимо получить данные соответствующие определенному условию, например, всех пользователей с фамилией «Иванов». Читать далее «Получение данных с фильтрацией. WHERE»