SQL Flashcards

1
Q

Вывод всех данных из таблицы

A

SELECT * FROM FamilyMembers

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Вывод данных из определенных колонок таблицы

A

SELECT member_id, member_name FROM FamilyMembers

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Вывод столбцов таблицы так чтобы их названия в итоговой выборке были другими

A

SELECT member_id, member_name AS Name FROM FamilyMembers
(ИЛИ)
SELECT member_id, member_name Name FROM FamilyMembers

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Встроенная функция

A

реализованный в СУБД кусок кода, с помощью которого можно выполнять преобразования строковых, числовых и других данных в запросах.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Как исключить дубликаты из выборки

A

Использовать оператор DISTINCT:
SELECT [DISTINCT] поля_таблиц FROM наименование_таблицы;
(ИЛИ)
SELECT DISTINCT first_name, last_name FROM User; - для нескольких полей

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Как сделать выборку по условию?

A

Использовать условный оператор WHERE:
SELECT [DISTINCT] * FROM Student
WHERE first_name = “Grigorij” AND YEAR(birthday) > 2000;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Что если сравнить какое-либо значение с NULL?

A

Результатом сравнения любого значения с NULL является NULL. Исключением является оператор эквивалентности.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Зачем нужен оператор LIKE?

A

Оператор LIKE используется при условных запросах, когда мы хотим узнать соответствует ли строка определённому шаблону:
SELECT name, email FROM Users
WHERE email [NOT] LIKE ‘%@hotmail.%’,
где % - последовательность любых символов (число символов в последовательности может быть от 0 и более),
а _ - любой единичный символ

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Как отсортировать данные из выборки?

A

Использовать оператор ORDER BY:
SELECT DISTINCT town_from, town_to FROM Trip
ORDER BY town_from, town_to DESC;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Как сортируются строковые данные при использовании ORDER BY?

A

Сортировка строковых данных подразумевает сортировку в лексикографическом (алфавитном) порядке и по умолчанию происходит по возрастанию.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Общая структура запроса GROUP BY?

A

SELECT [литералы, агрегатные_функции, поля_группировки]
FROM имя_таблицы
GROUP BY поля_группировки;

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Как GROUP BY работает с NULL?

A

Для GROUP BY все значения NULL трактуются как равные, т.е. при группировке по полю, содержащему NULL-значения, все такие строки попадут в одну группу

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Что такое агрегатная функция?

A

Агрегатная функция – это функция, которая выполняет вычисление на наборе значений и возвращает одиночное значение.
Пример:
SELECT home_type, AVG(price) as avg_price FROM Rooms
GROUP BY home_type

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Самые популярные агрегатные функции

A

SUM(поле_таблицы) - Возвращает сумму значений
AVG(поле_таблицы) - Возвращает среднее значение
COUNT(поле_таблицы) - Возвращает количество записей
MIN(поле_таблицы) - Возвращает минимальное значение
MAX(поле_таблицы) - Возвращает максимальное значение

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Для каких значений применяются агрегатные функции?

A

Агрегатные функции применяются для значений, не равных NULL. Исключением является функция COUNT(*)

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Группировка запроса с поиском количества по группе и дальнейшей сортировкой

A

SELECT home_type, COUNT(*) as amount FROM Rooms
GROUP BY home_type
ORDER BY amount DESC

17
Q

Как фильтровать группы?

A

Для фильтрации групп мы должны использовать оператор HAVING:
SELECT home_type, AVG(price) as avg_price FROM Rooms
GROUP BY home_type
HAVING avg_price > 50

18
Q

Как происходит порядок выполнения запроса?

A
  1. FROM - получение всех записей из таблицы
  2. WHERE - фильтрация записей по определенным условиям
  3. GROUP BY - формирование групп на основе записей после фильтрации
  4. HAVING - фильтрация групп по определенным условиям
  5. ORDER BY - сортировка полученных результатов
19
Q

Общая структура запроса с оператором HAVING

A

SELECT [константы, агрегатные_функции, поля_группировки]
FROM имя_таблицы
WHERE условия_на_ограничения_строк
GROUP BY поля_группировки
HAVING условие_на_ограничение_строк_после_группировки
ORDER BY условие_сортировки

20
Q
A