SQL и БД Learning – Telegram
SQL и БД Learning
10.2K subscribers
797 photos
9 videos
22 files
445 links
№ 5060218708

Изучаем SQL с нуля

По всем вопросам @mascarov_valentin

Реклама на бирже - https://telega.in/c/SQl_and_DB_Learning
Download Telegram
Узнать объем памяти базы данных с помощью SQL

Нужно заменить 'имя_базы_данных' на название вашей базы данных. Результатом будет суммарный размер всех таблиц в базе данных, выраженный в байтах.
👍15
Какой из следующих 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
Узнаем дату последнего редактирования БД с поомщью SQL

Здесь мы используем системную таблицу sys.databases, которая содержит информацию о всех базах данных в SQL Server. Колонка modify_date указывает на дату и время последнего изменения базы данных.
👍8
Что нового в SQLAlchemy 2.0?

SQLAlchemy — это программная библиотека на языке Python для работы с реляционными СУБД с применением технологии ORM.

Смотреть статью
👍6🔥2
#Вопросы_с_собеседования

Как вставить нескольких строк одним запросом?

В данном примере мы одним SQL-запросом добавим 3 записи.
👍12🔥2
SQL миграции в Postgres

Эта статья посвящена двум более сложным миграциям:
обновление большой таблицы
разделение таблицы на две

Смотреть статью
👍6
Узнаем сколько всего таблиц в базе данных
👍13
Проектирование базы данных для самых маленьких — на примере кинотеатра

Смотреть статью
🔥6👍2
Подзапросы в команде INSERT

В команде INSERT подзапросы могут применяться для определения значения, которое вставляется в один из столбцов.
👍10🔥1
Какой результат возвратит следующая функция в PostgreSQL:

TO_DATE ('2017:JUNE:11','YYYY:Month:DD')?
Anonymous Quiz
30%
2017-JUNE-11
15%
2017-Jun-11
22%
2017-06-11
2%
NULL
16%
Ничего из перечисленного
15%
Посмотреть ответы
👍10🔥2
ESCAPE-символ

ESCAPE-символ используется для экранирования трафаретных символов. В случае если вам нужно найти строки, содержащие проценты (а процент — это зарезервированный символ), вы можете использовать ESCAPE-символ.

Например, вы хотите получить идентификаторы задач, прогресс которых равен 3%.

Если бы мы не экранировали трафаретный символ, то в выборку попало бы всё, что начинается на 3.
👍7🔥4
Как правильно вводить дату в SQL

В SQL даты обычно вводятся в формате "ГГГГ-ММ-ДД", где "ГГГГ" - год, "ММ" - месяц (от 01 до 12) и "ДД" - день (от 01 до 31).

Например, чтобы вставить запись в таблицу "orders" с датой заказа 22 марта 2023 года, можно использовать следующий запрос:

INSERT INTO orders (order_date, customer_name)
VALUES ('2023-03-22', 'Иванов Иван');


Если же дата вводится с помощью функции, то можно использовать стандартную функцию преобразования даты, например, функцию TO_DATE() в Oracle:

INSERT INTO orders (order_date, customer_name)
VALUES (TO_DATE('22-03-2023', 'DD-MM-YYYY'), 'Иванов Иван');

В этом примере мы используем функцию TO_DATE() для преобразования строки "22-03-2023" в дату формата "ГГГГ-ММ-ДД". Второй аргумент функции ("DD-MM-YYYY") указывает формат входной строки.
👍71🔥1
#Вопросы_с_собеседования

Как найти сумму всех значений столбца в таблице?

Допустим у нас есть таблица departament, которая содержит колонку totalemployees. Тогда сумма всех значений в колонке totalemployees может быть получена с помощью команды SUM(totalemployees).
🔥6👍31
Использование SUM и CASE WHEN вместе

select
sum(case when allergies = 'Penicillin' and city = 'Burlington' then 1 else 0 end) as allergies_burl
, sum(case when allergies = 'Penicillin' and city = 'Oakville' then 1 else 0 end) as allergies_oak

from patients


Предложение WHERE может работать, если вы хотите суммировать количество пациентов, отвечающих определенным условиям. Но если вы хотите проверить несколько условий, вы можете использовать ключевые слова SUM и CASE WHEN вместе. Это делает код лаконичным и легко читаемым.

Данную комбинацию также можно использовать в выражении WHERE, как в примере ниже.


select
*
FROM patients
WHERE TRUE
and 1 = (case when allergies = 'Penicillin' and city = 'Burlington' then 1 else 0 end)
👍5🔥2
#Вопросы_с_собеседования

Даны две таблицы: таблица category и таблица sub_category с полями id и name. Достаньте одним запросом названия категорий и подкатегорий.

Ответ на картинке.
👍12
Как выбрать все записи из таблицы Persons, где значение поля LastName в алфавитном порядке находится между значениями "Hansen" и "Pettersen"?
Anonymous Quiz
54%
SELECT * FROM Persons WHERE LastName BETWEEN 'Hansen' AND 'Pettersen'
15%
SELECT * FROM Persons WHERE LastName>'Hansen' AND LastName<'Pettersen'
8%
SELECT * FROM Persons WHERE LastName>='Hansen' AND LastName<='Pettersen'
15%
SELECT * FROM Persons WHERE LastName ASC 'Hansen' AND 'Pettersen'
9%
Посмотреть ответ
👍83
Большая шпаргалка по командам и функциям SQL
👍6
SQL cheat_sheet.png
154.2 KB
Версия в хорошем качестве
👍9
MariaDB, фрагментация, varchar и печалька

При проектировании таблиц в базах данных может возникнуть вопрос, как хранить строки в char или varchar.

Смотреть статью
👍3