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
Какой результат возвратит следующая функция в 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
Как получить значение текущего года в PostgreSQL?
Anonymous Quiz
8%
SELECT NOW();
44%
SELECT YEAR (NOW());
29%
SELECT DATE_PART ('year', NOW());
12%
SELECT YEAR FROM DATE;
7%
Посмотреть ответы
👍10
Узнаем кол-во всех ячеек в таблице с помощью SQL

Для выполнения этой задачи вам понадобится использовать стандартный SQL запрос COUNT(*).

Замените your_table_name на фактическое имя вашей таблицы. Результатом выполнения этого запроса будет одна строка с одним столбцом cell_count, содержащим общее количество ячеек в таблице.
👍8
Задача

Дана пустая таблица publisher

Дана пустая таблица publisher с колонками id и name. На id стоит автоинкремент, а Синтаксис name имеет тип varchar(40). Какие из следующих запросов корректно отработают:

1) INSERT INTO publisher (name) VALUES ('OREILLY');
2) INSERT INTO publisher (name) VALUES ('О Reilly');
3) INSERT INTO publisher (name) VALUES ('O'Reilly');
4) INSERT INTO publisher (name) VALUES ('O-Reilly');


Ответ:

1, 2, 4
👍15
#Вопросы_с_собеседования

В чем разница между кластерными и некластеризованными индексами?

Ответ на картинке.
🔥5👍21
Задача

Выберете данные из таблицы users по полям name и age, где age принимает самое маленькое значение.

Ответ на картинке.
👍13😱21
Какое ключевое слово нельзя использовать вместе с оператором ROLLUP?
Anonymous Quiz
21%
LIMIT
13%
GROUP BY
11%
ORDER BY
22%
HAVING
33%
Посмотреть ответ
👍102😱1
#Вопросы_с_собеседования

Добавьте в таблицу table1 поле status

Ответ на картинке.
👍72🔥2
Для сортировки по возрастанию используется следующая конструкция:
Anonymous Quiz
8%
GROUP BY имя_поля DESC
70%
ORDER BY имя_поля ASC
17%
ORDER BY имя_поля DESC
5%
GROUP BY имя_поля ASC
👍12🔥1
#Вопросы_с_собеседования

При выборке из таблицы workers создайте новое поле res, в котором будет строка 'eee'.

Ответ на картинке.
👍7