Запрос MySQL. Примеры SELECT: 1-10

Печать

Примеры запросов MySQL могут быть использованы для изучения MySQL и практикума по написанию запросов MySQL.

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

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

SELECT dt, product_id, amount
FROM m_income;

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

SELECT *
FROM m_product;

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

SELECT DISTINCT product_id
FROM m_income;

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

SELECT *
FROM m_income
ORDER BY price;

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

SELECT *
FROM m_income
ORDER BY dt DESC , price;

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

SELECT *
FROM m_income
WHERE amount>200;

Запрос Q007. Для выражения сложных условий пользуются логическими операциями 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;

Запрос Q008. Для объединения данных двух или более таблиц пользуются инструкциями 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;

Запрос Q009. В этом примере запроса MySQL нужно обратить внимание на две вещи: 1) искомый текст заключен в одинарные кавычки ( ' ); 2) дата приведена в формате "Год-Месяц-День". В других системах формат написания даты может быть другим. Пример вывода информации о поступлении молока 12-го июня 2011 года. Обратите внимание на формат даты "2011-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="2011-6-12";

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

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

Комментарии   

 
0 #6 Кирилл 19.05.2016 23:26
Возьму на вооружение JOIN. :-)
Цитировать
 
 
+2 #5 Сухроб 10.02.2015 16:42
Спасибо, хорошая статья! :-)
Цитировать
 
 
+1 #4 avesha 21.10.2014 17:13
Спасибо. Очень наглядно и доходчиво.
Цитировать
 
 
+2 #3 Павел 11.06.2013 07:12
Спасибо, то что нужно! :-)
Цитировать
 
 
+1 #2 Андрей А 03.06.2013 13:33
Спасибо за информацию 8)
Цитировать
 
 
+4 #1 Андрей 02.11.2012 20:16
Вы малайцы... давно искал такую страницу. Кстати можете публиковать из книги: Сборник рецептов. Спрошу не по теме (читаю книгу SQL сборник рецептов o'reilly (не подскажите где взять код к книге)особенно не знаю где найти таблицу t500.
Цитировать
 

Добавить комментарий


Защитный код
Обновить

Произведение «OFTOB.COM» публикуется на условиях лицензии Creative Commons Attribution-NonCommercial-ShareAlike 3.0 Непортированная.