TGViewer
Channel Public Channel
SQL Pro

SQL Pro

@sqlprofi

SQL Pro - всё об SQL
Реклама: @anothertechrock

Контент канала:
1. Разбор вопросов с собеседований
2. Трюки SQL
3. Видео
4. Тесты
5. Задачи на логику
6. Юмор
Subscribers
4.91K
Photos
99
Videos
0
Links
77

Showing posts older than #604 · Back to latest

Older Posts 20 shown
Post #603 1.75K
Трюк дня. Как выбрать строки из таблицы #1, id которых отсутствуют в таблице #2 с условием?

SELECT "user"."vkId"
FROM "user" as "user"
LEFT JOIN "notification"
ON "notification"."userId"="user"."vkId"
AND "notification"."type" = 991
WHERE "notification"."userId" IS NULL
GROUP BY "user"."vkId"
LIMIT 100

Так же можно использовать NOT EXISTS (в некоторых случаях он может быть быстрее, хотя в других - медленнее чем LEFT JOIN):

SELECT "user"."vkId"
FROM "user" as "user"
WHERE NOT EXISTS(
SELECT 1 FROM "notification"
WHERE "notification"."userId"="user"."vkId"
AND "notification"."type" = 991
)
GROUP BY "user"."vkId"
LIMIT 100

#tips
Post #601 1.44K
Трюк дня. Как выбрать строки из таблицы #1, id которых отсутствуют в таблице #2 с условием?

Таблица 1: "notification":

userId | type
-------------
1 | 1
2 | 2
3 | 991
4 | 991

Таблица 2 "user":

vkId | something
-------------
1 | 1111
2 | 2222
3 | 3333
4 | 4444

Как выбрать пользователей из 2-ой таблицы, но только тех, которых нет в таблице №1 с type = 991?

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

#tips
Post #600 1.53K
1 июня, 16:00
Вебинар: Как связать выделенный сервер и базы данных на примере PostgreSQL

Приглашаем на практический вебинар от @Selectel, в рамках которого ребята покажут, как перенести PostgreSQL с выделенного сервера в облако. Настроят облачную сеть между базами данных и выделенным сервером и расскажут, как работает продукт Database as a Service.

На вебинаре вы научитесь:

◽️ работать с облачными базами данных PostgreSQL,
◽️ улучшать производительность баз данных,
◽️ повышать безопасность приложений, чтобы они соответствовали требованиям 152-ФЗ.

За лучший вопрос можно получить фирменного маскота — Тирекса. Участие бесплатное, регистрируйтесь по ссылке: https://slc.tl/xou81

Реклама ООО «Селектел» Kra23ussG
  • 👍 2
  • ❤ 1
Post #599 1.49K
Решение сегодняшней задачи на логику и мышление.

Число 33. Решение: к первому числу прибавляем 1, второе число умножаем на 1, к третьему прибавляем 2, следующее умножаем на 2, затем прибавляем 3, следующее умножаем на 3 и т. д.

#логика
  • 👍 3
Post #598 1.58K
Задача на мышление и логику.

Определите, какое число пропущено в следующей последовательности чисел: 1, 2, 2, 4, 8, 11, …, 37, 148.

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

#логика
  • 🤔 4
Post #597 1.75K
Ответ на #вопрос60

Это один из распространенных вопросов по SQL на собеседованиях.

Выбор четных записей:

Select * from table where id % 2 = 0

Выбор нечетных записей:

Select * from table where id % 2 != 0

#вопросы #собеседование
Post #596 1.73K
#вопрос60

Как из таблицы выбрать все записи c четными ID? А с нечетными?

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

#вопросы #собеседование
  • 🔥 3
Post #595 1.99K
  • 👍 1
Post #594 2.09K
  • 🤡 6
  • 💩 4
Post #593 2.02K
Решение сегодняшней задачи на логику и мышление.

~13,33 минуты: (15 × 32) / 36 = 13,33333…

#логика
Post #592 1.98K
Задача на мышление и логику.

В игре, которая длится 15 минут, участвуют 36 игроков, из которых 4 — запасные. Запасные поочередно заменяют каждого игрока, так что все играющие проводят на площадке одинаковое время. Какое?

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

#логика
Post #591 2.03K
Ответ на #вопрос59

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

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

#вопросы #собеседование
  • 👍 3
Post #589 1.56K
#вопрос59

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

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

#вопросы #собеседование
  • 🔥 1
  • 💩 1
Post #588 1.71K
  • 💩 2
Post #587 1.82K
Трюк дня. Как быстро заполнить таблицу 1 000 000 ТЕСТОВЫХ записей?

Создадим таблицу samples с точно такой же структурой, что и таблица tests. Заполним ее 10 тестовыми записями.

CREATE TABLE samples (
title varchar(256) NOT NULL
);

INSERT INTO
samples (title)
VALUES
('8iRDgsEIq4GmOs32FnHM3b3cH60n3mm8070'),
('UAmsXyrKgApfHMyV2kUrYqLphN99Q7TJSoe'),
('OX1qiFeTigcOTO5JVvgFk7MRDgjgatkTqwL'),
('CT9Kfbplp4QC87G32UIKlkGd31jdjt4qH4f'),
('WsAhjBL5tAgihYZBtX97FNUmEpXavhb4CRw'),
('LwaitJ5dieXyixEmjJXhhqDY8Zg9Tu5ecoV'),
('KpHsnqrcMCpkRxkGNMjEJV0jFaeucPtbLWe'),
('t2GSIDOvW14eMlroAWrRR6xU5DoeNUXY0lD'),
('rSvrEPxR8rcw7QYjXfeNdyf3LpqYNHu3W7a'),
('6liUHPkjnygSatoUB4juZ5TaJZjaxHpR4BL');

Для того, чтобы превратить 10 записей из таблицы samples в 1 000 000 записей произведем самообъединение таблицы samples шесть раз

SELECT
fst.title
FROM
samples AS fst,
samples AS snd,
samples AS thd,
samples AS fth,
samples AS fif,
samples AS sth;

Оператор JOIN, который в SQL может быть заменен обычной запятой, осуществляет декартово соединение таблиц, когда каждой записи одной таблицы сопоставляется каждая запись другой таблицы. Таким образом, если в одной таблице 10 записей и в другой таблице 10 записей, результирующая таблица, полученная их соединением через JOIN будет содержать 100 записей. Как нетрудно увидеть

10 x 10 x 10 x 10 x 10 x 10 = 1 000 000 записей

Если в таблице samples будет 100 записей, для получения 1 000 000 записей будет достаточно соединений трех таких таблиц, если в samples будет 1000 записей, будет достаточно объединить таблицу саму с собой один раз.

Вставить результат в целевую таблицу tests можно при помощи оператора INSERT ... SELECT ...

INSERT INTO
tests
SELECT
fst.title
FROM
samples AS fst,
samples AS snd,
samples AS thd,
samples AS fth,
samples AS fif,
samples AS sth;

#tips
  • 🤡 8
  • 👍 3
Post #586 1.72K
Трюк дня. Как быстро заполнить таблицу 1 000 000 ТЕСТОВЫХ записей?

Пусть имеется таблица tests с единственным столбцом title

CREATE TABLE tests (
title varchar(256) NOT NULL
);

Как можно заполнить ее 1 000 000 тестовых записей?

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

#tips
  • 👍 2
Post #585 1.91K
Решение сегодняшней задачи на логику и мышление.

5 центов. Если бы мяч стоил 10 центов, ракетка продавалась бы по цене 1 евро 10 центов, но столько стоят оба предмета вместе.

#логика
  • 👍 3
  • 🤔 2
Post #584 1.92K
Задача на мышление и логику.

Теннисные ракетка и мяч вместе стоят 1 евро и 10 центов. Теннисная ракетка на 1 евро дороже мяча. Сколько стоит мяч?

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

#логика
  • 👍 2
Post #582 1.87K
Ответ на #вопрос58

NVARCHAR способен хранить значения в формате Unicode – каждый символ занимает 2 байта, а кодировка занимает 65 536 символов.

VARCHAR хранит значения в формате ASCII – каждый символ занимает байт, а кодировка занимает 256 символов.

#вопросы #собеседование
  • 👍 1
  • 🤔 1
Post #581 1.85K
#вопрос58

Чем отличается VARCHAR от NVARCHAR?

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

#вопросы #собеседование
Older posts →
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →