Хелпикс

Главная

Контакты

Случайная статья





Пример. ORDER BY. Пример. BETWEEN. Пример. Пример. Пример. Пример. Создание. Удаление. Агрегатные функции



Пример

Выведем список факультетов, у которых более одного курса:

SELECT COUNT(course_id), dept_name FROM course GROUP BY dept_name HAVING COUNT(course_id)> 1;

ORDER BY

ORDER BY используется для сортировки результатов запроса по убыванию или возрастанию. ORDER BY отсортирует по возрастанию, если не будет указан способ сортировки ASC или DESC.

SELECT < col_name1>, < col_name2>, … FROM < table_name> ORDER BY < col_name1>, < col_name2>, … ASC|DESC;

Пример

Выведем список курсов по возрастанию и убыванию количества кредитов:

SELECT * FROM course ORDER BY credits; SELECT * FROM course ORDER BY credits DESC;

BETWEEN

BETWEEN используется для выбора значений данных из определённого промежутка. Могут быть использованы числовые и текстовые значения, а также даты.

SELECT < col_name1>, < col_name2>, … FROM < table_name> WHERE < col_namex> BETWEEN < value1> AND < value2>;

Пример

Выведем список инструкторов, чья зарплата больше 50 000, но меньше 100 000:

SELECT * FROM instructor WHERE salary BETWEEN 50000 AND 100000;

LIKE

Оператор LIKE используется в WHERE, чтобы задать шаблон поиска похожего значения.

Есть два свободных оператора, которые используются в LIKE:

  • % (ни одного, один или несколько символов);
  • _ (один символ).
SELECT < col_name1>, < col_name2>, … FROM < table_name> WHERE < col_namex> LIKE < pattern>;

Пример

Выведем список курсов, в имени которых содержится «to», и список курсов, название которых начинается с «CS-»:

SELECT * FROM course WHERE title LIKE ‘%to%’; SELECT * FROM course WHERE course_id LIKE 'CS-___';

IN

С помощью IN можно указать несколько значений для оператора WHERE:

SELECT < col_name1>, < col_name2>, … FROM < table_name> WHERE < col_namen> IN (< value1>, < value2>, …);

Пример

Выведем список студентов с направлений Comp. Sci., Physics и Elec. Eng.:

SELECT * FROM student WHERE dept_name IN (‘Comp. Sci. ’, ‘Physics’, ‘Elec. Eng. ’);

JOIN

JOIN используется для связи двух или более таблиц с помощью общих атрибутов внутри них. На изображении ниже показаны различные способы объединения в SQL. Обратите внимание на разницу между левым внешним объединением и правым внешним объединением:

SELECT < col_name1>, < col_name2>, … FROM < table_name1> JOIN < table_name2> ON < table_name1. col_namex> = < table2. col_namex>;

Пример

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

SELECT prereq. course_id, title, dept_name, credits, prereq_id FROM prereq LEFT OUTER JOIN course ON prereq. course_id=course. course_id;

VIEW

VIEW — это виртуальная таблица SQL, созданная в результате выполнения выражения. Она содержит строки и столбцы и очень похожа на обычную SQL-таблицу. VIEW всегда показывает самую свежую информацию из базы данных.

Создание

CREATE VIEW < view_name> AS SELECT < col_name1>, < col_name2>, … FROM < table_name> WHERE < condition>;

Удаление

DROP VIEW < view_name>;

Агрегатные функции

Это не совсем основные команды SQL, однако знать их тоже желательно. Агрегатные функции используются для получения совокупного результата, относящегося к рассматриваемым данным:

  • COUNT(col_name) — возвращает количество строк;
  • SUM(col_name) — возвращает сумму значений в данном столбце;
  • AVG(col_name) — возвращает среднее значение данного столбца;
  • MIN(col_name) — возвращает наименьшее значение данного столбца;
  • MAX(col_name) — возвращает наибольшее значение данного столбца.

Вложенные подзапросы

Вложенные подзапросы — это SQL-запросы, которые включают выражения SELECT, FROM и WHERE, вложенные в другой запрос.

Пример

Найдём курсы, которые преподавались осенью 2009 и весной 2010 годов:

SELECT DISTINCT course_id FROM section WHERE semester = ‘Fall’ AND year= 2009 AND course_id IN ( SELECT course_id FROM section WHERE semester = ‘Spring’ AND year= 2010 );

Перевод статьи «SQL Recap for Interviews»

 



  

© helpiks.su При использовании или копировании материалов прямая ссылка на сайт обязательна.