Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
interaktivnoe_programirovanie_internet-prilozheniy (1).docx
Скачиваний:
3
Добавлен:
01.07.2025
Размер:
4 Мб
Скачать
☆

Поиск одной или нескольких записей, удовлетворяющих заданному условию

Для осуществления выборки из таблиц базы данных используется оператор SELECT.

SELECT column_name FROM table_name;

Пример 1. Пример запроса MySQL для получения только нужных полей в нужной последовательности:

SELECT dt, product_id, amount FROM m_income;

Пример 2. В этом запросе MySQL символ звездочки (*) использован для вывода всех столбцов таблицы m_product, иначе говоря, для получения всех полей отношения m_product:

SELECT * FROM m_product;

Пример 3. Инструкция DISTINCT используется для исключения повторяющихся записей и получения множества уникальных записей:

SELECT DISTINCT product_id FROM m_income;

Пример 4. Инструкция ORDER BY используется для сортировки (упорядочения) записей по значениям определенного поля. Имя поля указывается за инструкцией ORDER BY:

SELECT * FROM m_income ORDER BY price;

Пример 5. Инструкция ASC используется как дополнение к инструкции ORDER BY и служит для определения сортировки по возрастанию. Инструкция DESC используется как дополнение к инструкции ORDER BY и служит для определения сортировки по убыванию. В случае, когда ни ASC, ни DESC не указаны, подразумевается наличие ASC (default):

SELECT * FROM m_income ORDER BY dt DESC , price;

Пример 6. Для отбора необходимых записей из таблицы пользуются различными логическими выражениями, которые выражают условие отбора. Логическое выражение приводится после инструкции WHERE. Пример получения из таблицы m_income всех записей, для которых значение amount больше 200:

SELECT * FROM m_income WHERE amount>200;

Пример 7. Для выражения сложных условий пользуются логическими операциями AND (конъюнкция), OR (дизъюнкция) и NOT (логическое отрицание). Пример запроса MySQL для получения из таблицы m_outcome всех записей, для которых значение amount равно 20 и значение price больше или равно 10:

SELECT dt, product_id, amount, price FROM m_outcome WHERE amount=20 AND price>=10;

Пример 8. Для объединения данных двух или более таблиц пользуются инструкциями INNER JOIN, LEFT JOIN, RIGHT JOIN. В следующем примере извлекаются поля dt, product_id, amount, price из таблицы m_income и поле title из таблицы m_product. Запись таблицы m_income соединяется с записью таблицы m_product при равенстве значения m_income.product_id значению m_product.id:

SELECT dt, product_id, title, amount, price FROM m_income INNER JOIN m_product ON m_income.product_id=m_product.id;

Пример 9. В этом примере запроса MySQL нужно обратить внимание на две вещи:

1) искомый текст заключен в одинарные кавычки ( ' );

2) дата приведена в формате "Год-Месяц-День".

В других системах формат написания даты может быть другим. Пример вывода информации о поступлении молока 12-го июня 2016 года (обратите внимание на формат даты "2016-6-12"):

SELECT dt, product_id, title, amount, price FROM m_income INNER JOIN m_product ON m_income.product_id=m_product.id WHERE title='Молоко' And dt="2016-6-12";

Пример 10. Инструкция BETWEEN используется для проверки принадлежности некоторому диапазону значений. Запрос MySQL, выводящий информацию о товарах, поступивших между 1-м и 30-м июня 2016 года:

SELECT * FROM m_income INNER JOIN m_product ON m_income.product_id=m_product.id WHERE dt BETWEEN "2016-6-1" And "2016-6-30";