SQL Pro
5.28K subscribers
145 photos
10 files
124 links
SQL Pro - всё об SQL
Реклама: @anothertechrock

Контент канала:
1. Разбор вопросов с собеседований
2. Трюки SQL
3. Видео
4. Тесты
5. Задачи на логику
6. Юмор
加入频道
#вопрос33

Таблица enrollments содержит некорректные данные с ids между 20 и 100 (включительно).

TABLE enrollments
id INTEGER NOT NULL PRIMARY KEY
year INTEGER NOT NULL
studentId INTEGER NOT NULL

Напишите запрос, который запишет в поле year каждой некорректной записи значение 2015.

#вопросы #собеседование
👍9
Ответ на #вопрос33

UPDATE enrollments
SET year = 2015
WHERE id>= 20 and id<= 100;

#вопросы #собеседование
👍1
Статья дня. Коллекция готовых SQL запросов для PostgreSQL.

#sql

Читать статью
Выберите пример корректно написанного запроса с использованием подзапроса, который выводит информацию о заказе с самой дорогой стоимостью:
Anonymous Quiz
4%
SELECT * FROM orders WHERE price = (SELECT big(price) FROM orders);
8%
SELECT * FROM orders WHERE price = MAX;
2%
SELECT COUNT(*) FROM orders;
79%
SELECT * FROM orders WHERE price = (SELECT MAX(price) FROM orders);
7%
Посмотреть ответы
👍12
#вопрос34

Из PostgreSQL таблицы customers необходимо выбрать записи всех клиентов НЕ из департамента Sales.

name dept
Jones Sales
Powers Sales
Braun NULL
Louns Dev


Почему данный запрос вернёт неверный результат?
Исправьте его.

SELECT *
FROM customers
WHERE dept <> ‘Sales‘;


#вопросы #собеседование
👍9
Ответ на #вопрос34

При использовании оператора <> значения NULL не учитываются.

Правильный запрос:

SELECT *
FROM customers
WHERE dept <> ‘Sales‘

OR dept IS NULL;

#вопросы #собеседование
👍11
Какой запрос выведет среднюю зарплату работников, если зарплата каждого высчитывается по формуле = (experience*1.5*10000)?
Anonymous Quiz
9%
SELECT (experience*1.5*10000) AS average_pay FROM employees;
42%
SELECT AVERAGE ((experience*1.5*10000)) AS average_pay FROM employees;
21%
SELECT AVGVALUE((experience*1.5*10000)) AS average_pay FROM employees;
19%
Ничего из перечисленного
8%
Посмотреть ответы
👍11
😁48👍6🤯5👎1🥴1
Где правильно указан тип для поля идентификатора "ID"?
Anonymous Quiz
3%
id FLOAT
8%
id CHAR
48%
id INT
34%
id INTEGER
8%
Посмотреть ответы
👎26👍6
Внутрь какого из перечисленных операторов может быть помещён подзапрос?
Anonymous Quiz
29%
Оператор WHERE
7%
Оператор HAVING
19%
Оператор FROM
41%
Все вышеперечисленные
3%
Посмотреть ответы
#вопрос35

Для чего используется выражение: INSERT INTO SELECT.

Решение будет вечером.

#вопросы #собеседование
🏆3👍1
Ответ на #вопрос35

Данный оператор копирует данные из одной таблицы и вставляет их в другую.

При этом типы данных в обеих таблицах должны соответствовать.

Пример использования:

INSERT INTO second_table
SELECT * FROM first_table
WHERE condition;

Использование WHERE при этом необязательно.

#вопросы #собеседование
👎10👍2
Что возвратит следующий MySQL запрос:
SELECT SUBSTR(‘HELLO WORLD’, -1, 1);?
Anonymous Quiz
19%
NULL
7%
0
10%
H
42%
D
22%
Посмотреть ответы
👍3
Трюк дня. Количество вхождений строки в поле в MySQL

Есть таблица items со следующими данными:

id desc
1 val test test val
2 val test
3 test test test
4 valvalvalvalval

Напишите MySQL запрос, который подсчитает количество вхождений значения ‘val‘ для каждого desc.

Ожидаемый результат:
2
1
0
5


Решение будет вечером.

#tips
1
Трюк дня. Количество вхождений строки в поле в MySQL. Решение

SELECT
ROUND (
(LENGTH (desc) - LENGTH (

REPLACE (desc, ‘val‘,‘‘)
)) / LENGTH(‘val‘)) AS c
FROM items;

#tips
👍15
#вопрос36

Что такое план запросов? Когда бы вы его использовали? Как посмотреть план?

Решение будет вечером.

#вопросы #собеседование
Ответ на #вопрос36

План запросов – это "карта", отображающая графически или в виде текста способы получения данных, последовательность операций, сортировки, группировки и т. д. Эти планы очень полезны разработчику для понимания и анализа характеристик производительности запроса или хранимой процедуры.

Во многих системах SQL план выполнения можно получить с помощью ключевого слова EXPLAIN. В Microsoft SQL Server Query Analyzer имеет в раскрывающемся меню параметр “Show Execution Plan”. Если его активировать, то при выполнении запроса план будет отображаться в отдельном окне.

#вопросы #собеседование
👍13🏆1
Трюк дня. Поиск симметричных записей в MySQL

Есть таблица items с колонками x и y, в которой есть симметричные записи. То есть такие, где x1 = y2 и x2 = y1.

Напишите запрос, который возвратит все симметричные записи в порядке возрастания x. Выберите только те записи, где x1<=y1.

К примеру в таблице есть такие данные:

x y
20 20
20 20
20 21
23 22
22 23
21 20
18 48
10 10

Ожидаемый результат:
20 20
20 21
22 23

Решение будет вечером.

#tips
🔥5👍2