Ваш первый запрос: SELECT и FROM
Задайте таблице вопрос и прочитайте ответ
SELECT (какие столбцы вы хотите увидеть?) и FROM (из какой таблицы их взять?). Соедините их, и база данных вернёт аккуратную маленькую таблицу с ответами.
- писать запрос с
SELECTиFROM, - выбирать все столбцы через
*или только те, что назвали, - правильно завершать инструкцию точкой с запятой
;, - оставлять заметки для людей с помощью комментариев,
- читать результирующий набор, который возвращает база данных.
1. Наша учебная база данных
Все примеры этого урока используют одну маленькую таблицу под названием students. С таблицами, строками и столбцами вы познакомились в прошлой теме; вот та самая таблица, которой мы будем задавать вопросы. Она создана этими командами (писать их самостоятельно вы научитесь позже в курсе):
CREATE TABLE students (
id INT,
name VARCHAR(50),
grade INT,
city VARCHAR(50)
);
INSERT INTO students (id, name, grade, city) VALUES
(1, 'Aisha', 5, 'Bishkek'),
(2, 'Bruno', 6, 'Osh'),
(3, 'Chen', 5, 'Bishkek'),
(4, 'Dilnoza', 7, 'Naryn');
Теперь таблица students содержит четыре строки:
| id | name | grade | city |
|---|---|---|---|
| 1 | Aisha | 5 | Bishkek |
| 2 | Bruno | 6 | Osh |
| 3 | Chen | 5 | Bishkek |
| 4 | Dilnoza | 7 | Naryn |
Четыре столбца (id, name, grade, city) и четыре строки (по одной на ученика). Держите эту картинку в голове, ведь каждый запрос ниже — это просто разный способ попросить показать её части.
2. Два волшебных слова: SELECT и FROM
Базовый запрос похож на заказ в столовой. Вы говорите, что хотите и откуда это взять:
SELECT— список столбцов, которые вы хотите увидеть.FROM— таблица, в которой живут эти столбцы.
Вот самый маленький полезный запрос. Он просит столбец name из таблицы students:
SELECT name
FROM students;
Результат:
| name |
|---|
| Aisha |
| Bruno |
| Chen |
| Dilnoza |
База прочитала таблицу students и вернула только столбец name — но по-прежнему все четыре строки. Заметьте важное: SELECT выбирает столбцы (в каком направлении «разрезать»), а не строки. Выбор строк появится в следующей теме с WHERE.
SELECT и FROM, обычно пишут ЗАГЛАВНЫМИ буквами. SQL этого не требует, но так запрос читать намного легче, поэтому мы всегда так делаем.
Запрос можно написать и в одну строку — SQL игнорирует лишние пробелы и переносы. SELECT name FROM students; означает ровно то же самое.