Команда SELECT получает записи из базы данных по определенному условию, которое задается с помощью команды WHERE.

Эти записи можно отсортировать с помощью команды ORDER BY, а также можно ограничить их количество с помощью LIMIT.

См. также команды INSERT, UPDATE, DELETE, которые отвечают за вставку, редактирование и удаление записей.

См. также функцию COUNT, которая подсчитывает количество записей.

См. также команду SELECT INTO, которая копирует данные из одной таблицы в другую.

Синтаксис

SELECT * FROM имя_таблицы
SELECT * FROM имя_таблицы WHERE условие
SELECT поле1, поле2... FROM имя_таблицы WHERE условие

Полный синтаксис:

SELECT 
    [STRAIGHT_JOIN] [SQL_SMALL_RESULT] [SQL_BIG_RESULT] [SQL_BUFFER_RESULT]
    [SQL_CACHE | SQL_NO_CACHE] [SQL_CALC_FOUND_ROWS] [HIGH_PRIORITY]
    [DISTINCT | DISTINCTROW | ALL]
select_expression,...
[INTO {OUTFILE | DUMPFILE} 'file_name' export_options]
[FROM table_references
[WHERE where_definition]
[GROUP BY {unsigned_integer | col_name | formula} [ASC | DESC], ...]
[HAVING where_definition]
[ORDER BY {unsigned_integer | col_name | formula} [ASC | DESC], ...]
[LIMIT [offset,] rows | rows OFFSET offset]
[PROCEDURE procedure_name(argument_list)]
[FOR UPDATE | LOCK IN SHARE MODE]]

Примеры

Все примеры будут по этой таблице workers, если не сказано иное:

id
айди
name
имя
age
возраст
salary
зарплата
1 Дима 23 400
2 Петя 25 500
3 Вася 23 500
4 Коля 30 1000
5 Иван 27 500
6 Кирилл 28 1000

Пример

В данном примере выбираются записи, у которых поле id больше 3-х:

SELECT * FROM workers WHERE id>3

SQL запрос выберет следующие строки:

id
айди
name
имя
age
возраст
salary
зарплата
4 Коля 30 1000
5 Иван 27 500
6 Кирилл 28 1000

Пример

В данном примере выбираются записи, у которых поле id меньше 3-х:

SELECT * FROM workers WHERE id<=3

SQL запрос выберет следующие строки:

id
айди
name
имя
age
возраст
salary
зарплата
1 Дима 23 400
2 Петя 25 500
3 Вася 23 500

Пример

В данном примере выбираются записи, у которых поле id равно 3-м:

SELECT * FROM workers WHERE id=3

SQL запрос выберет следующие строки:

id
айди
name
имя
age
возраст
salary
зарплата
3 Вася 23 500

Пример

В данном примере выбираются записи, у которых поле id НЕ равно 3-м:

SELECT * FROM workers WHERE id!=3

SQL запрос выберет следующие строки:

id
айди
name
имя
age
возраст
salary
зарплата
1 Дима 23 400
2 Петя 25 500
4 Коля 30 1000
5 Иван 27 500
6 Кирилл 28 1000

Запрос можно переписать следующим образом:

SELECT * FROM workers WHERE id<>3

Пример

В данном примере отсутствует WHERE - поэтому выберутся все записи в таблице:

SELECT * FROM workers

SQL запрос выберет следующие строки:

id
айди
name
имя
age
возраст
salary
зарплата
1 Дима 23 400
2 Петя 25 500
3 Вася 23 500
4 Коля 30 1000
5 Иван 27 500
6 Кирилл 28 1000

Пример

В данном примере вместо * указаны конкретные поля (id, name, age):

SELECT id, name, age FROM workers

SQL запрос выберет следующие строки:

id
айди
name
имя
age
возраст
1 Дима 23
2 Петя 25
3 Вася 23
4 Коля 30
5 Иван 27
6 Кирилл 28

Пример

В данном примере выбирается только одно поле - name:

SELECT name FROM workers

SQL запрос выберет следующие строки:

name
имя
Дима
Петя
Вася
Коля
Иван
Кирилл