Здравствуйте, друзья!
Записал видео решение SQL-задачи в которой нужно было вывести текст по вертикали:
https://youtu.be/wrmFeFB8JJI
Записал видео решение SQL-задачи в которой нужно было вывести текст по вертикали:
https://youtu.be/wrmFeFB8JJI
YouTube
Задача по SQL. Вывести текст по вертикали
Вывод текста построчно. Использование рекурсии. CONNECT BY
Телеграм-канал: https://t.me/sql_oracle_databases
Телеграм-канал: https://t.me/sql_oracle_databases
👍12
Доброе утро, друзья!
Начнём неделю с хорошей SQL задачки? Повторение - мать учения! ;)
Есть таблица Settings (Настройки), имеющая поля:
NAME VARCHAR(20) NOT NULL PRIMARY KEY,
STR_VAL VARCHAR(200) NULL DEFAULT NULL.
Необходимо написать SQL-команду вставки новой строки в таблицу настроек с названием "email_alert" (значение столбца NAME) и значением "support@prime-soft.biz" (для столбца STR_VAL), но команда должна добавлять новую строку только в том случае, если настройки с таким NAME в таблице ещё не существует. Варианты решений задачи напишу чуть позже.
Начнём неделю с хорошей SQL задачки? Повторение - мать учения! ;)
Есть таблица Settings (Настройки), имеющая поля:
NAME VARCHAR(20) NOT NULL PRIMARY KEY,
STR_VAL VARCHAR(200) NULL DEFAULT NULL.
Необходимо написать SQL-команду вставки новой строки в таблицу настроек с названием "email_alert" (значение столбца NAME) и значением "support@prime-soft.biz" (для столбца STR_VAL), но команда должна добавлять новую строку только в том случае, если настройки с таким NAME в таблице ещё не существует. Варианты решений задачи напишу чуть позже.
Доброй пятницы, друзья!
Спасибо за участие в решении задачи этого понедельника, в которой нужно написать команду вставки записи в таблицу настроек, если в ней настройки с таким названием ещё нет.
Вы написали отличный вариант решения и через NOT EXISTS, и с помощью LEFT JOIN-а и командой MERGE.
Рассмотрим способ через NOT EXISTS:
INSERT INTO Settings
(NAME, STR_VAL)
SELECT 'email_alert', 'support@prime-soft.biz' FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM Settings WHERE NAME = 'email_alert');
Спасибо за участие в решении задачи этого понедельника, в которой нужно написать команду вставки записи в таблицу настроек, если в ней настройки с таким названием ещё нет.
Вы написали отличный вариант решения и через NOT EXISTS, и с помощью LEFT JOIN-а и командой MERGE.
Рассмотрим способ через NOT EXISTS:
INSERT INTO Settings
(NAME, STR_VAL)
SELECT 'email_alert', 'support@prime-soft.biz' FROM DUAL
WHERE NOT EXISTS (SELECT 1 FROM Settings WHERE NAME = 'email_alert');
Доброе утро, друзья!
На просторах интернета нашёл небольшую задачку по SQL. Дана пустая таблица publisher с колонками id и name. На id стоит автоинкремент, а столбец name имеет тип varchar(40). Какой из следующих запросов не сможет быть выполнен:
На просторах интернета нашёл небольшую задачку по SQL. Дана пустая таблица publisher с колонками id и name. На id стоит автоинкремент, а столбец name имеет тип varchar(40). Какой из следующих запросов не сможет быть выполнен:
Anonymous Quiz
2%
INSERT INTO publisher (name) VALUES ('OREILLY');
6%
INSERT INTO publisher (name) VALUES ('О Reilly');
87%
INSERT INTO publisher (name) VALUES ('O'Reilly');
5%
INSERT INTO publisher (name) VALUES ('O-Reilly');
Добрый день, друзья!
В таблице ORDERS всего 5 строк. Столбец LEAD_TYPE (тип данных INT) содержит следующие значения:1, 2, 2, 2, 3. Запрос SELECT COUNT(1) FROM ORDERS WHERE LEAD_TYPE = 2 LIMIT 2 (синтаксис MySql) вернёт значение:
В таблице ORDERS всего 5 строк. Столбец LEAD_TYPE (тип данных INT) содержит следующие значения:1, 2, 2, 2, 3. Запрос SELECT COUNT(1) FROM ORDERS WHERE LEAD_TYPE = 2 LIMIT 2 (синтаксис MySql) вернёт значение:
Anonymous Quiz
4%
0
12%
1
48%
2
30%
3
2%
4
1%
5
4%
NULL
Здравствуйте, друзья!
Недавно выкладывал очередную SQL задачу, но из-за опечатки, которую Вы у меня нашли уже за первые 10 минут после публикации, пришлось задачу удалить 🙂
Публикую повторно (с корректировкой):
В таблице TEMP_TABLE не известное количество строк. В качестве начальных условий задачи не известны и значения поля FLD1 таблицы. Аналитик выполнил запрос SELECT COUNT(FLD1), MIN(FLD1), MAX(FLD1) FROM TEMP_TABLE и увидел, что все три значения одинаковые.
Недавно выкладывал очередную SQL задачу, но из-за опечатки, которую Вы у меня нашли уже за первые 10 минут после публикации, пришлось задачу удалить 🙂
Публикую повторно (с корректировкой):
В таблице TEMP_TABLE не известное количество строк. В качестве начальных условий задачи не известны и значения поля FLD1 таблицы. Аналитик выполнил запрос SELECT COUNT(FLD1), MIN(FLD1), MAX(FLD1) FROM TEMP_TABLE и увидел, что все три значения одинаковые.
👍8
Какое значение мог увидеть аналитик из ниже перечисленных?
Anonymous Quiz
33%
Null
1%
-1
18%
0
48%
1
👍3
Всем доброго понедельника!
Примите ещё одну интересную задачу по SQL. В базе данных есть два представления (views):
v_articles_list и v_articles_stock. Ниже два запроса, которые выводят артикулы из представления v_articles_list, которых нет в представлении v_articles_stock.
Запрос 1:
select *
from v_articles_list
where article_id not in (select article_id from v_articles_stock)
Запрос 2:
select a.*
from v_articles_list a
left join v_articles_stock b
on a.article_id = b.article_id
where b.article_id is null
Примите ещё одну интересную задачу по SQL. В базе данных есть два представления (views):
v_articles_list и v_articles_stock. Ниже два запроса, которые выводят артикулы из представления v_articles_list, которых нет в представлении v_articles_stock.
Запрос 1:
select *
from v_articles_list
where article_id not in (select article_id from v_articles_stock)
Запрос 2:
select a.*
from v_articles_list a
left join v_articles_stock b
on a.article_id = b.article_id
where b.article_id is null
Могут ли эти запросы в каком-либо случае вернуть разный результат?
Anonymous Quiz
45%
Да, Запрос 1 может вернуть меньше строк
25%
Да, Запрос 2 может вернуть меньше строк
30%
Нет, Запрос 1 и Запрос 2 всегда будут возвращать одинаковый набор данных
IMG_20240426_171847_369.jpg
14.1 KB
Друзья, добрый день!
Получили от Вас ещё несколько приятных отзывов после прохождения нашего курса по SQL!
Спасибо!
Получили от Вас ещё несколько приятных отзывов после прохождения нашего курса по SQL!
Спасибо!
👍3
Друзья, спасибо, что изучаете SQL и программирование в PL/SQL (ORACLE) с нами!
У нас небольшое дополнение к курсам!
Теперь у нас будет не только индивидуальное сопровождение (каждого ученика), проверка и разбор решений самостоятельных задач после каждого урока, но и групповые очные вебинары.
Плюсы:
+ совместное решение задач, в том числе и дополнительных;
+ быстрое получение ответов на интересующие вопросы;
+ более близкое общение с менторами и со мной.
Продолжительность каждого вебинара пока планируется 1 час. Чуть позже, если будет нужно, можем увеличить время.
У нас небольшое дополнение к курсам!
Теперь у нас будет не только индивидуальное сопровождение (каждого ученика), проверка и разбор решений самостоятельных задач после каждого урока, но и групповые очные вебинары.
Плюсы:
+ совместное решение задач, в том числе и дополнительных;
+ быстрое получение ответов на интересующие вопросы;
+ более близкое общение с менторами и со мной.
Продолжительность каждого вебинара пока планируется 1 час. Чуть позже, если будет нужно, можем увеличить время.
🔥6👍1
Подскажите, пожалуйста, в какое время Вам было бы удобно активное участие в вебинарах?
По курсу SQL. Базы данных. ORACLE. MS SQL Server. MySql
По курсу SQL. Базы данных. ORACLE. MS SQL Server. MySql
Anonymous Poll
13%
В будни в рабочее время;
53%
В будни в 19:30;
34%
В субботу в 9:30.
По курсу Программирования в PL/SQL (ORACLE)
Anonymous Poll
14%
В будни в рабочее время;
58%
В будни в 19:30;
35%
В субботу в 9:30.