SQL Pro
5.08K subscribers
142 photos
2 videos
10 files
127 links
SQL Pro - всё об SQL
Реклама: @anothertechrock

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

Команда .dump используется для создания дампа базы данных SQLite, но стоит помнить, что при после ее использования все данные будут сброшены навсегда и восстановить их будет невозможно.

#вопросы #собеседование
Трюк дня. Как объединить операторы LIKE и IN без написания сложных подзапросов?

WHERE something LIKE 'bla%'
OR something LIKE '%foo%'
OR something LIKE 'batz%'

Повысьте читаемость и расширяемость запроса.

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

#tips
🤡1
Трюк дня. Как узнать размер базы данных PostgreSQL?

Такое решение полностью стандартно, работало, и будет работать на любой СУБД:

create table patterns (pattern varchar (32));
insert into patterns values ('bla%');
insert into patterns values ('%foo%');
insert into patterns values ('batz%');

select something
from tab
where exists (
select 1
from patterns
where something like pattern
);

Вместо таблицы можно использовать любую конструкцию способную вернуть строки, такие как например: представление, табличные функции, коллекции и т.д.

#tips
🤡7👍1
#вопрос71

Что такое внешний ключ?

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

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

Внешний ключ или FOREIGN KEY также является атрибутом ограничения и обеспечивает связь двух таблиц. По сути, это поле или несколько полей, которые ссылаются на PRIMARY KEY в родительской таблице.

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

CREATE TABLE order (
order_id INT NOT NULL,
user_id INT,
PRIMARY KEY (order_id),
FOREIGN KEY (user_id) REFERENCES users(id)
);

В данном случае внешний ключ, привязанный к полю user_id в таблице order, ссылается на первичный ключ id в таблице users, и именно по этим полям происходит связывание двух таблиц.

#вопросы #собеседование
👍2
Задача на мышление и логику.

Дана пустая бочка. Нужно наполнить ее водой так, чтобы заполнена была только половина. Использовать палку или другие предметы для измерения нельзя.

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

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

1. Заполняем бочку водой (или полностью, или точно больше половины).
2. Наклоняем бочку на 45 градусов: вся лишняя вода выливается, и остается ровно половина.

#логика
💩13😁3👎1
Как выбрать все записи из таблицы "Persons", упорядоченные по полю "FirstName" в обратном порядке?
Anonymous Quiz
12%
SELECT * FROM Persons ORDER BY FirstName ASC
80%
SELECT * FROM Persons ORDER BY FirstName DESC
3%
SELECT * FROM Persons SORT BY FirstName ASC
5%
SELECT * FROM Persons ORDER 'FirstName' DESC
0%
Посмотреть ответ
#вопрос72

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

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

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

Это специальные символы, которые нужны для замены каких-либо знаков в запросе. Они используются вместе с оператором LIKE, с помощью которого можно отфильтровать запрашиваемые данные.

Какими бывают подстановочные знаки?

% — заменить ноль или более символов;
_ — заменить один символ.

Примеры:

SELECT * FROM user WHERE name LIKE '%test%';

Данный запрос позволяет найти данные всех пользователей, имена которых содержат в себе «test».

SELECT * FROM user WHERE name LIKE 't_est';

А в этом случае имена искомых пользователей начинаются на «t», после содержат какой-либо символ и «est» в конце.

#вопросы #собеседование
Задача на мышление и логику.

В офисе расположили 3 автомата с различными напитками. В первом – кофе, во втором – чай, а в третьем – и кофе, и чай (выдает случайным образом). Для любого из них нужна 1 монета. Каждый автомат обозначен наклейкой с названием продукта, который он выдаёт. Вот только на заводе перепутали наклейки, и на каждом из трех автоматов оказалась неправильная. За сколько монет можно выяснить, где какой автомат?

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

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

1. Бросаем монету в автомат с надписью «чай-кофе». Так как все наклейки расположены неверно, в зависимости от того, что выдаст автомат, мы определим его в «чайный» или «кофейный».
2. Допустим, это оказался кофейный автомат. Тогда чайный автомат не может быть ни кофейным, ни чайным: он выдает и чай, и кофе.
3. Методом исключения определяем автомат, который выдает чай.

Ответ: за 1 монету.

#логика
Трюк дня. Что означает CONSTRAINT?

Что означает CONSTRAINT в данном контексте? Для чего может быть ограничение CONSTRAINT person_pkey PRIMARY KEY (id)?

Есть 2 таблицы :

CREATE TABLE company(
id integer NOT NULL,
name character varying,
CONSTRAINT company_pkey PRIMARY KEY (id)
);

CREATE TABLE person(
id integer NOT NULL,
name character varying,
company_id integer,
CONSTRAINT person_pkey PRIMARY KEY (id)
);

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

#tips
Трюк дня. Что означает CONSTRAINT?

Определение:

CONSTRAINT company_pkey PRIMARY KEY (id)

эквивалентно определению:

PRIMARY KEY (id)

и означает, что id является первичным ключом таблицы.

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

CREATE TABLE company(
id integer PRIMARY KEY,
name character varying
);

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

PRIMARY KEY (id, name)

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

#tips
👍4
#вопрос73

Что делают псевдонимы Aliases?

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

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

SQL-псевдонимы нужны для того, чтобы дать временное имя таблице или столбцу. Это нужно, когда в запросе есть таблицы или столбцы с неоднозначными именами. В этом случае для удобства в составлении запроса используются псевдонимы. SQL-псевдоним существует только на время запроса.

Пример:

SELECT very_long_column_name AS alias_name
FROM table;

#вопросы #собеседование
Задача на мышление и логику.

12 часов ночи. Идет дождь. Можно ли ожидать, что по истечении 72 часов будет солнечная погода?

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

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

Ответ: нет, так как через 72 часа также будет ночь.

#логика
👎61
Какая команда открывает транзакцию?
Anonymous Quiz
15%
COMMIT
10%
ROLLBACK
12%
CREATE
58%
BEGIN
6%
Посмотреть ответ