SELECT (получение записей)


Синтаксис

Для получения записей из таблицы используется команда SELECT, далее указываются поля и таблица, а также (опционально) условия, порядок сортировки и группировки.

Пример:

SELECT name, age FROM students;

Если нужно выбрать все поля, то ставится звездочка. Пример:

SELECT * FROM students;

Вычисляемые поля и псевдонимы

Если из таблицы нужно вернуть не само значение поля, а результат каких-нибудь действий над ним, то в команде можно так и написать:

SELECT age + 10 FROM students;

Для чисел поддерживаются все основные операции: +, -, *, /, %, ^.

Однако обработка результата может быть не всегда удобно, особенно, если формула громоздкая. Поэтому для упрощения любому полю (не только вычисляемому, но даже обычному) можно присвоить псевдоним с помощью конструкции AS. Примеры:

SELECT age + 10 as new_age FROM students;
SELECT name, age + 10 as new_age FROM students;
SELECT name as my_name, age + 10 as new_age FROM students;

Функции

Здесь будет информация о функциях COUNT, SUM, AVG, MIN, IF и т. д. ...

Условия

Если нужно выбрать не все записи, а только удовлетворяющие определенным условиям, то поддерживается полный набор возможностей конструкции WHERE (подробнее о WHERE). Примеры:

SELECT * FROM students WHERE id = 2;
SELECT name FROM students WHERE age + 10 > 20;
SELECT name, age FROM students WHERE name LIKE 'A%' AND age = 18;

Сортировка

Поскольку записи из таблицы возвращаются в неопределенном порядке, то для удобства использования и выполнения задач выходные данные можно упорядочить с помощью конструкции ORDER BY с указанием далее поля и (опционально) порядка сортировки:

Группировка

Здесь будет информация о конструкции GROUP BY...

Ограничение числа записей и сдвиг

Для получения конкретного числа записей из таблицы используется конструкция LIMIT. Она имеет три формы:

Примеры:

SELECT * FROM students LIMIT 10;
SELECT * FROM students WHERE age >= 15 LIMIT 5, 10;
SELECT id, name FROM students WHERE name LIKE 'A%' ORDER BY name LIMIT 5 OFFSET 10;