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

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

Как вы понимаете SELF JOIN?

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

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

SELF JOIN используется для соединения таблицы с ней самой.

При этом каждая строка таблицы соединяется с самой собой и с другими строками — в зависимости от заданных условий.

Синтаксис:
SELECT a.column_name, b.column_name
FROM table a, table b
WHERE condition;

SELF JOIN
часто используется тогда, когда у разных полей одной таблицы могут быть одинаковые значения.

Например, один и тот же участник музыкальной группы может быть и вокалистом, и, например, клавишником. Если из базы музыкальных групп понадобится извлечь те, где вокалист и клавишник — одно лицо, потребуется SELF JOIN.

#вопросы #собеседование
🔥16
#вопрос38

Как получить последний id без использования функции MAX?

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

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

В MySQL:
SELECT id
FROM table
ORDER BY id DESC
LIMIT 1

В SQL Server:
SELECT TOP 1 id
FROM table
ORDER BY id DESC


#вопросы #собеседование
👍9
#вопрос39

Как найти дубликат записи? Опишите процесс для дублирования записей с одним и несколькими полями.

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

#вопросы #собеседование
👍2🔥1
Ответ на #вопрос39

Дублирование записей с одним полем:
SELECT name, COUNT(email)
FROM users
GROUP BY email
HAVING COUNT(email) > 1

Дублирование записей с несколькими полями:
SELECT name, email, COUNT(*)
FROM users
GROUP BY name, email
HAVING COUNT(*) > 1

#вопросы #собеседование
👍11💩5🔥2🐳1
Какого строкового типа данных нет в SQL:
Anonymous Quiz
5%
VARCHAR
56%
STRING
8%
CHAR
27%
TEXT
4%
Посмотреть ответ
🔥4
Трюк дня. Количество повторений значения в столбце в SQL.

В SQL есть таблица students:

student_id INTEGER PRIMARY KEY,
student_name VARCHAR,
group_id INTEGER

В программе Java нужно получить Map<Integer, Integer>, где key -> group_id, а value -> кол-во студентов с этим group_id, то есть, кол-во повторений каждого group_id. Как составить для этого SQL запрос?

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

#tips
🔥5
Трюк дня. Количество повторений значения в столбце в SQL.

SELECT group_id, Count(student_id) FROM students WHERE group_id>0 GROUP BY students.group_id HAVING COUNT (student_id)<(?) ORDER BY students.group_id;

#tips
👍2👎1
Задача на мышление и логику.

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

#логика
👍2
Решение сегодняшней задачи на логику и мышление.

Ответ: здесь представлены все цифры от 0 до 9

#логика
🤡18👎3🔥3👍2
#вопрос40

Что не так с этим запросом? Исправьте его, если нужно.

SELECT Id, YEAR(BillingDate) AS BillingYear 
FROM Invoices
WHERE BillingYear >= 2010;

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

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

Неверное выражение BillingYear в условии WHERE. Несмотря на то, что он определен как алиас в выборке SELECT перед WHERE, логический порядок обработки условий отличается.

Правильный запрос будет выглядеть так:
SELECT Id, YEAR(BillingDate) AS BillingYear
FROM Invoices
WHERE YEAR(BillingDate) >= 2010;

#вопросы #собеседование
👍8
Какое ключевое слово нельзя использовать вместе с оператором ROLLUP?
Anonymous Quiz
27%
LIMIT
11%
GROUP BY
12%
ORDER BY
20%
HAVING
30%
Посмотреть ответы
🥱4🔥2
Трюк дня. SQL - Сортировка зеркальных строк.

Есть
БД со следующей структурой:

id team1      team2
1 spartak csk
2 csk spartak
3 real spartak
4 csk real

Нужно написать запрос что-бы узнать сколько раз команды играли между собой в виде:

game          num
spartak-csk 2
real-spartak 1
csk-real 1

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

#tips
🔥7👍2
Трюк дня. SQL - Сортировка зеркальных строк.

Поскольку, задача сводится к тривиальной, когда у нас пара команд упорядочены определенным образом, то к этому общему виду их можно и свести:
SELECT game, count(game)
FROM (
select
case when a < b then concat(a, '-' , b)
else concat(b , '-', a ) end as game
from data
) as t
GROUP by game

#tips
👍15😱4
Задача на мышление и логику.

Сможете ли вы сделать это уравнение правильным, используя три из следующих четырех символов: +, −, x и ÷ ?

Порядок операций не применяется, дроби и отрицательные числа не используются.

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

#логика
Решение сегодняшней задачи на логику и мышление.

#логика
👎45🤡7👍41
#вопрос41

Дана таблица tbl и поля nmbr со следующими значениями:
1, 0, 0, 1, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 0, 1

Написать запрос, чтобы установить 2 вместо 0 и установить 3 вместо 1.

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

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