SQL_main_commands.pdf
975.2 KB
Шпаргалка по всем базовым командам SQL с пояснением и примерами
👍26🔥2
Как создать временную таблицу в sql запросе
Для создания временной таблицы используется ключевое слово
Удобно создавать временную таблицу на выборке из другой таблицы:
Для создания временной таблицы используется ключевое слово
TEMPORARY в команде CREATE TABLE:CREATE TEMPORARY TABLE название_таблицыУдобно создавать временную таблицу на выборке из другой таблицы:
CREATE TEMPORARY TABLE customer_temp SELECT * FROM customer;👍6❤1
#вопросы_с_собеседований
Что не так с запросом на фото? Исправьте его, если нужно.
В тексте обнаружено неверное выражение BillingYear в условии WHERE. Несмотря на то, что оно было определено как алиас в выборке SELECT перед WHERE, логический порядок обработки условий отличается. Как известно, в T-SQL операторы выполняются в другом порядке, что может привести к неожиданным результатам. Чтобы избежать подобных ошибок, программисты должны учитывать эту особенность при написании кода.
Правильный запрос будет выглядеть так:
SELECT Id, YEAR(BillingDate) AS BillingYear
FROM Invoices
WHERE YEAR(BillingDate) >= 2010;
Что не так с запросом на фото? Исправьте его, если нужно.
В тексте обнаружено неверное выражение BillingYear в условии WHERE. Несмотря на то, что оно было определено как алиас в выборке SELECT перед WHERE, логический порядок обработки условий отличается. Как известно, в T-SQL операторы выполняются в другом порядке, что может привести к неожиданным результатам. Чтобы избежать подобных ошибок, программисты должны учитывать эту особенность при написании кода.
Правильный запрос будет выглядеть так:
SELECT Id, YEAR(BillingDate) AS BillingYear
FROM Invoices
WHERE YEAR(BillingDate) >= 2010;
👍14
В некоторой таблице есть колонка EX_COL. Записи таблицы для этой колонки содержат значения { 100, 200, 300, NULL }. Каким будет результат функции AVG(EX_COL)?
Anonymous Quiz
17%
150
32%
Возникнет ошибка: агрегатные функции не могут быть использованы для записей со значениями NULL
4%
0
37%
200
10%
Узнать ответ
👍10
Задача
Даны 3 таблицы: таблица category с полями id и name, таблица sub_category с полями id и name и таблица page с полями id, name и sub_category_id. Достаньте одним запросом все страницы вместе с их подкатегориями и категориями.
Даны 3 таблицы: таблица category с полями id и name, таблица sub_category с полями id и name и таблица page с полями id, name и sub_category_id. Достаньте одним запросом все страницы вместе с их подкатегориями и категориями.
SELECT * FROM page LEFT JOIN category ON page.catogory_id = category.id
LEFT JOIN sub_category ON category.id = sub_category.category_id👍8🔥3
#Вопросы_с_собеседования
❓Выбрать студентов, имеющих балл от 82 до 90. Студенты должны быть отсортированы в порядке убывания балла
Ответ на картинке.
❓Выбрать студентов, имеющих балл от 82 до 90. Студенты должны быть отсортированы в порядке убывания балла
Ответ на картинке.
👍15😱3
Какое выражение истинно в SQL?
Anonymous Quiz
31%
NULL = NULL
22%
NULL != NULL
1%
NULL > NULL
34%
Ничего из перечисленного
12%
Посмотреть ответы
👍11
#Вопросы_с_собеседования
Назовите SQL-операторы для составления условий
GROUP BY: используется при агрегировании для объединения идентичных данных в группы, предложение GROUP BY следует за предложением WHERE в операторе SELECT. В примере ниже результатом запроса с использованием GROUP BY будет таблица, показывающая количество пользователей (Customers) в каждой стране (Country):
HAVING: используется для указания условия поиска в предложении GROUP BY, HAVING может использоваться в отсутствие предложения GROUP BY с помощью предложения WHERE. В примере ниже результатом запроса с использованием HAVING будет таблица, показывающая количество пользователей (Customers) в каждой стране (Country) с числом пользователей больше 5.
ORDER BY: сортирует набор результатов в порядке возрастания (по умолчанию) или убывания (при использовании ключевого слова DESC). В примере ниже результатом запроса будет таблица пользователей (Customers), отсортированная по полю «Страна» (Country):
WHERE:
Назовите SQL-операторы для составления условий
GROUP BY: используется при агрегировании для объединения идентичных данных в группы, предложение GROUP BY следует за предложением WHERE в операторе SELECT. В примере ниже результатом запроса с использованием GROUP BY будет таблица, показывающая количество пользователей (Customers) в каждой стране (Country):
SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country;HAVING: используется для указания условия поиска в предложении GROUP BY, HAVING может использоваться в отсутствие предложения GROUP BY с помощью предложения WHERE. В примере ниже результатом запроса с использованием HAVING будет таблица, показывающая количество пользователей (Customers) в каждой стране (Country) с числом пользователей больше 5.
SELECT COUNT(CustomerID), Country
FROM Customers
GROUP BY Country
HAVING COUNT(CustomerID) > 5;ORDER BY: сортирует набор результатов в порядке возрастания (по умолчанию) или убывания (при использовании ключевого слова DESC). В примере ниже результатом запроса будет таблица пользователей (Customers), отсортированная по полю «Страна» (Country):
SELECT * FROM Customers
ORDER BY Country;
WHERE:
используется для определения условия извлечения записей». В примере ниже результатом запроса будет таблица пользователей (Customers) из Мексики:SELECT * FROM Customers
WHERE Country='Mexico';👍9
Какой из следующих SQL запросов вернет топ-5 самых просматриваемых постов из таблицы posts, отсортированных по количеству просмотров в порядке убывания?
Anonymous Quiz
56%
SELECT * FROM posts ORDER BY views DESC LIMIT 5;
24%
SELECT TOP 5 * FROM posts ORDER BY views DESC;
7%
SELECT * FROM posts WHERE ROWNUM <= 5 ORDER BY views DESC;
13%
SELECT * FROM posts WHERE views >= 5 ORDER BY views DESC LIMIT 5;
👍8
Узнаем размер файла с помощью SQL
В SQL нельзя узнать размер файла напрямую. Однако, если файл находится в базе данных, то можно использовать функцию
Где
В SQL нельзя узнать размер файла напрямую. Однако, если файл находится в базе данных, то можно использовать функцию
DATALENGTH, которая вернет размер данных в байтах.Где
MyFileColumn - это столбец таблицы, в котором хранится файл, MyTable - это имя таблицы, а ID = 1 - это условие выборки конкретной записи из таблицы.👍10🔥4
Какой из следующих SQL запросов вернет все записи, отсортированные по колонке name в порядке возрастания из которых будут исключены записи, содержащие NULL в колонке denoscription?
Anonymous Quiz
68%
SELECT * FROM table_name WHERE denoscription IS NOT NULL ORDER BY name ASC;
17%
SELECT * FROM table_name WHERE denoscription NOT NULL ORDER BY name ASC;
9%
SELECT * FROM table_name WHERE denoscription <> NULL ORDER BY name ASC;
6%
SELECT * FROM table_name WHERE NOT (denoscription IS NULL) ORDER BY name ASC;
👍9
Сколько записей вернет следующий PostgreSQL запрос:
VALUES (11), (22), (33) INTERSECT VALUES (55), (33), (33);
VALUES (11), (22), (33) INTERSECT VALUES (55), (33), (33);
Anonymous Quiz
24%
1
19%
2
21%
3
15%
Ничего из перечисленного
20%
Посмотреть ответы
👍6
SQL_big_cheatsheet.pdf
1.5 MB
Огромный туториал-шпаргалку по SQL с примерами запросов и объяснением
👍12🔥4
Какой из следующих SQL запросов позволит получить среднее значение из колонки "sales", сгрупированной по годам из колонки "date", при этом выведет только те года, в которые среднее значение продаж больше $100.000?
Anonymous Quiz
23%
SELECT YEAR(date), AVG(sales) FROM table_name WHERE AVG(sales) > 100000 GROUP BY YEAR(date);
54%
SELECT YEAR(date), AVG(sales) FROM table_name GROUP BY YEAR(date) HAVING AVG(sales) > 100000;
11%
SELECT YEAR(date), AVG(sales) FROM table_name HAVING AVG(sales) > 100000 GROUP BY YEAR(date);
11%
SELECT YEAR(date), AVG(sales) FROM table_name GROUP BY YEAR(date) WHERE AVG(sales) > 100000;
👍11