У этой задачи несколько вариантов правильного ответа:
- со скоростью, не меньшей скорости звука;
- с нулевой скоростью.
- с нулевой скоростью.
🔥10👎1
Всем привет и хорошей пятницы!
Вот еще небольшой сборник логических задач:
https://rutube.ru/video/f53bc6a02553cac15adf25f1f13bd27f/
Вот еще небольшой сборник логических задач:
https://rutube.ru/video/f53bc6a02553cac15adf25f1f13bd27f/
❤2💩1
Всем привет!
Предлагаю попробовать свои силы в решении новой SQL задачки.
Дано:
CREATE TABLE TABLE_1(n number);
CREATE TABLE TABLE_2(n number);
INSERT INTO TABLE_1 values (10);
INSERT INTO TABLE_1 values (20);
INSERT INTO TABLE_2 values (10);
INSERT INTO TABLE_2 values (30);
Предлагаю попробовать свои силы в решении новой SQL задачки.
Дано:
CREATE TABLE TABLE_1(n number);
CREATE TABLE TABLE_2(n number);
INSERT INTO TABLE_1 values (10);
INSERT INTO TABLE_1 values (20);
INSERT INTO TABLE_2 values (10);
INSERT INTO TABLE_2 values (30);
❤2
Выберите правильный результат запроса SELECT?
SELECT n FROM TABLE_1 UNION ALL SELECT n FROM TABLE_2 ORDER BY n;
SELECT n FROM TABLE_1 UNION ALL SELECT n FROM TABLE_2 ORDER BY n;
Anonymous Quiz
9%
10, 20, 30
2%
10
40%
10, 20, 10, 30
49%
10, 10, 20, 30
Очередная задачка по SQL (подобное уже было).
В таблице table_a 4 записи, в таблице table_b 5 записей. Какое минимальное и максимальное количество строк может вернуть запрос:
Select *
From table_a
Right join table_b
On table_a.id = table_b.code
Таблицы соединены правильно.
В таблице table_a 4 записи, в таблице table_b 5 записей. Какое минимальное и максимальное количество строк может вернуть запрос:
Select *
From table_a
Right join table_b
On table_a.id = table_b.code
Таблицы соединены правильно.
Какое минимальное и максимальное количество строк может вернуть написанный запрос?
Anonymous Quiz
2%
Мин 0, Макс 0
12%
Мин 0, Макс 4
18%
Мин 0, Макс 5
10%
Мин 4, Макс 5
8%
Мин 4, Макс 9
13%
Мин 5, Макс 9
36%
Мин 5, Макс 20
2%
Мин 9, Макс 20
🔥2
Небольшое усложнение к предыдущей задаче:
Select *
From table_a
Right join table_b
On table_a.id = table_b.code
Where table_a.id is null
Select *
From table_a
Right join table_b
On table_a.id = table_b.code
Where table_a.id is null
Какое минимальное и максимальное количество строк может вернуть теперь запрос?
Anonymous Quiz
23%
Мин 0, Макс 0
10%
Мин 0, Макс 4
41%
Мин 0, Макс 5
3%
Мин 4, Макс 5
0%
Мин 4, Макс 9
5%
Мин 5, Макс 9
14%
Мин 5, Макс 20
6%
Мин 9, Макс 20
Всем привет! Еще одна похожая задачка из собеседований по SQL. В таблице "А" 3 строки, в таблице "Б" 4 строки. При соединении их через FULL JOIN какое минимальное и максимальное количество строк может получиться?
Anonymous Quiz
8%
мин 0, макс 4
6%
мин 3, макс 4
22%
мин 4, макс 7
26%
мин 4, макс 12
12%
мин 7, макс 7
26%
мин 7, макс 12
Берём на вооружение 😎
В PostgreSql после выполнения команд вставки, изменения, удаления (после выполнения команд insert, update и delete, соответственно) можно с помощью дополнительной опции returning вернуть данные любых столбцов, вставленных/изменённых/удалённых строк.
При вставке, например, можно узнать какой идентификатор вставленной строке присвоился:
Получим:
ware_id
---------------
100345
Выведем товары по которым актуализировали цену:
Получим:
--------------------------
Id good_name good_tp price
33 'Мышь Хомяк' 2 110
34 'Мышь опт' 2 220
39 'Мышь пров.' 2 55
В PostgreSql после выполнения команд вставки, изменения, удаления (после выполнения команд insert, update и delete, соответственно) можно с помощью дополнительной опции returning вернуть данные любых столбцов, вставленных/изменённых/удалённых строк.
При вставке, например, можно узнать какой идентификатор вставленной строке присвоился:
insert into ware_goods
(ware_name, ware_tp, def_place_id)
values
('Поддон', 10, 44)
returning ware_id;Получим:
ware_id
---------------
100345
Выведем товары по которым актуализировали цену:
update goods
set price = price * 1.1
where good_tp = 2
returning *;Получим:
--------------------------
Id good_name good_tp price
33 'Мышь Хомяк' 2 110
34 'Мышь опт' 2 220
39 'Мышь пров.' 2 55
👍13
Для сравнения 😳
Столбцы с идентификаторами (первичные ключи) таблиц баз данных чаще всего создают автогенерирующими значения.
В ORACLE для этого используются сиквенсы, в MySql auto_increment, в MS SQL Server и PostgreSql - Identity.
Если со временем нужно убрать автогенерацию значения при вставке новых строк в таблицу, то во всех перечисленных СУБД это делается просто: в ORACLE убирается сиквенс, в MySql auto_increment, в PostgreSql identity.
Но убрать identity из столбца таблицы MS SQL Server не так то просто. Это можно сделать пересозданием (удалением и созданием новой пустой) целиком таблицы (с временным размещением данных в другой физической или временной таблице) или созданием нового столбца (для временого размещения данных столбца с identity, пока мы его удаляем и пересоздаём без identity).
Столбцы с идентификаторами (первичные ключи) таблиц баз данных чаще всего создают автогенерирующими значения.
В ORACLE для этого используются сиквенсы, в MySql auto_increment, в MS SQL Server и PostgreSql - Identity.
Если со временем нужно убрать автогенерацию значения при вставке новых строк в таблицу, то во всех перечисленных СУБД это делается просто: в ORACLE убирается сиквенс, в MySql auto_increment, в PostgreSql identity.
Но убрать identity из столбца таблицы MS SQL Server не так то просто. Это можно сделать пересозданием (удалением и созданием новой пустой) целиком таблицы (с временным размещением данных в другой физической или временной таблице) или созданием нового столбца (для временого размещения данных столбца с identity, пока мы его удаляем и пересоздаём без identity).
❤1🔥1
Самые нужные текстовые функции в PostgreSQL:
CONCAT(текст1, текст2,..) - для сцепления фрагментов текста в один;
LENGTH(текст) - подсчитывает количество символов в тексте;
LOWER(текст) - преобразовывает текст к нижнему регистру;
LPAD(текст, необходимая_длина, символ_для_подстановки) - добавляет к исходному тексту нужное количество указанных символов слева таких, какой указан в последнем параметре, пока текст не станет нужной длины;
POSITION(фрагмент_текста IN текст) - возвращает с какого символа начинается искомый фрагмент текста в тексте;
REPLACE(текст, что_искать, на_что_заменять) - осуществляет замену в тексте определенного фрагмента на другой;
RPAD(текст, необходимая_длина, символ_для_подстановки) - добавляет к исходному тексту нужное количество указанных символов справа таких, какой указан в последнем параметре, пока текст не станет нужной длины;
TRIM(текст) - убирает в тексте пробелы до первого символа и после последнего символа;
UPPER(текст) - преобразовывает текст к верхнему регистру.
CONCAT(текст1, текст2,..) - для сцепления фрагментов текста в один;
LENGTH(текст) - подсчитывает количество символов в тексте;
LOWER(текст) - преобразовывает текст к нижнему регистру;
LPAD(текст, необходимая_длина, символ_для_подстановки) - добавляет к исходному тексту нужное количество указанных символов слева таких, какой указан в последнем параметре, пока текст не станет нужной длины;
POSITION(фрагмент_текста IN текст) - возвращает с какого символа начинается искомый фрагмент текста в тексте;
REPLACE(текст, что_искать, на_что_заменять) - осуществляет замену в тексте определенного фрагмента на другой;
RPAD(текст, необходимая_длина, символ_для_подстановки) - добавляет к исходному тексту нужное количество указанных символов справа таких, какой указан в последнем параметре, пока текст не станет нужной длины;
TRIM(текст) - убирает в тексте пробелы до первого символа и после последнего символа;
UPPER(текст) - преобразовывает текст к верхнему регистру.
👍9❤4🔥4
Всем привет!
Один из простых способов создать дамп небольшой базы данных в текстовый файл в постгресе - воспользоваться утилитой pg_dump.exe:
pg_dump.exe -U логин -h имя_сервера_например_localhost -p порт -d имя_базы_данных_на_сервере > путь_куда_выложить_дамп
Пример:
D:\Postgre\bin\pg_dump.exe -U postgres -h localhost -p 5432 -d postgres > D:\Dump\postgres.dump
И загрузить такой дамп в виде текстового файла можно утилитой psql.exe так:
psql.exe -U пользователь -h имя_сервера_например_localhost -p порт -d на_какую_базу_развернуть -f путь_до_файла_дампа
Пример:
D:\Postgre\bin\psql.exe -U postgres -h localhost -p 5432 -d test -f D:\Dump\postgres.dump
Один из простых способов создать дамп небольшой базы данных в текстовый файл в постгресе - воспользоваться утилитой pg_dump.exe:
pg_dump.exe -U логин -h имя_сервера_например_localhost -p порт -d имя_базы_данных_на_сервере > путь_куда_выложить_дамп
Пример:
D:\Postgre\bin\pg_dump.exe -U postgres -h localhost -p 5432 -d postgres > D:\Dump\postgres.dump
И загрузить такой дамп в виде текстового файла можно утилитой psql.exe так:
psql.exe -U пользователь -h имя_сервера_например_localhost -p порт -d на_какую_базу_развернуть -f путь_до_файла_дампа
Пример:
D:\Postgre\bin\psql.exe -U postgres -h localhost -p 5432 -d test -f D:\Dump\postgres.dump
👍5
Требуется найти договора в таблице DOCS, премия сделок по которым (столбец PREM VARCHAR(20)) указана в процентах. Таблица DOCS имеет вид:
ID DT_DOC CLIENT_ID PREM
1 12.03.25 34567 50000
2 14.03.25 34789 10%
3 15.03.25 36700 8%
4 18.03.25 36701 37500
...
ID DT_DOC CLIENT_ID PREM
1 12.03.25 34567 50000
2 14.03.25 34789 10%
3 15.03.25 36700 8%
4 18.03.25 36701 37500
...
Какой запрос написан правильно?
Anonymous Quiz
15%
SELECT * FROM DOCS WHERE PREM LIKE '%'
9%
SELECT * FROM DOCS WHERE PREM LIKE '%%'
13%
SELECT * FROM DOCS WHERE PREM LIKE '%%%'
18%
SELECT * FROM DOCS WHERE PREM LIKE '_%'
12%
SELECT * FROM DOCS WHERE PREM LIKE '\%' ESCAPE '\'
29%
SELECT * FROM DOCS WHERE PREM LIKE '%\%' ESCAPE '\'
4%
SELECT * FROM DOCS WHERE PREM LIKE '%\_' ESCAPE '\'
👍3❤1
👍1