Команда SELECT
Команда SELECT получает записи из
базы данных по определенному условию, которое
задается с помощью команды WHERE.
Эти записи можно отсортировать с помощью
команды ORDER BY,
а также можно ограничить их количество
с помощью LIMIT.
Синтаксис
Выбор всех полей из таблицы:
SELECT * FROM table_name
Выбор всех полей с условием:
SELECT * FROM table_name WHERE condition
Выбор указанных полей с условием:
SELECT field1, field2 FROM table_name WHERE condition
Полный синтаксис:
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]]
Таблица для примеров
| id | name | age | salary |
|---|---|---|---|
| 1 | user1 | 23 | 400 |
| 2 | user2 | 25 | 500 |
| 3 | user3 | 23 | 500 |
| 4 | user4 | 30 | 900 |
| 5 | user5 | 27 | 500 |
| 6 | user6 | 28 | 900 |
Пример
Давайте выберем из таблицы записи,
у которых поле id больше 3:
SELECT * FROM employees WHERE id > 3
Результат выполнения кода:
| id | name | age | salary |
|---|---|---|---|
| 4 | user4 | 30 | 900 |
| 5 | user5 | 27 | 500 |
| 6 | user6 | 28 | 900 |
Пример
Давайте выберем записи, у которых
поле id меньше или равно 3:
SELECT * FROM employees WHERE id <= 3
Результат выполнения кода:
| id | name | age | salary |
|---|---|---|---|
| 1 | user1 | 23 | 400 |
| 2 | user2 | 25 | 500 |
| 3 | user3 | 23 | 500 |
Пример
Давайте выберем запись, у которой поле id равно 3:
SELECT * FROM employees WHERE id = 3
Результат выполнения кода:
| id | name | age | salary |
|---|---|---|---|
| 3 | user3 | 23 | 500 |
Пример
Давайте выберем записи, у которых поле id не равно 3:
SELECT * FROM employees WHERE id != 3
Результат выполнения кода:
| id | name | age | salary |
|---|---|---|---|
| 1 | user1 | 23 | 400 |
| 2 | user2 | 25 | 500 |
| 4 | user4 | 30 | 900 |
| 5 | user5 | 27 | 500 |
| 6 | user6 | 28 | 900 |
Запрос можно переписать следующим образом:
SELECT * FROM employees WHERE id <> 3
Пример
Давайте выберем все записи таблицы, так как
в данном примере отсутствует WHERE:
SELECT * FROM employees
Результат выполнения кода:
| id | name | age | salary |
|---|---|---|---|
| 1 | user1 | 23 | 400 |
| 2 | user2 | 25 | 500 |
| 3 | user3 | 23 | 500 |
| 4 | user4 | 30 | 900 |
| 5 | user5 | 27 | 500 |
| 6 | user6 | 28 | 900 |
Пример
Давайте укажем конкретные поля вместо символа *:
SELECT id, name, age FROM employees
Результат выполнения кода:
| id | name | age |
|---|---|---|
| 1 | user1 | 23 |
| 2 | user2 | 25 |
| 3 | user3 | 23 |
| 4 | user4 | 30 |
| 5 | user5 | 27 |
| 6 | user6 | 28 |
Пример
Давайте выберем только одно поле:
SELECT name FROM employees
Результат выполнения кода:
| name |
|---|
| user1 |
| user2 |
| user3 |
| user4 |
| user5 |
| user6 |
Смотрите также
-
команду
INSERT,
которая вставляет данные в таблицу -
команду
UPDATE,
которая обновляет данные в таблице -
команду
DELETE,
которая удаляет данные из таблицы -
функцию
COUNT,
которая подсчитывает количество записей -
команду
SELECT INTO,
которая копирует данные из одной таблицы в другую