Всем доброй пятницы!
Спасибо за активное участие в решении SQL-задач 😉
Запрос из предыдущей задачи выводит данные из таблицы TEMP_TABLE (так как SELECT..FROM TEMP_TABLE), поэтому будут выводиться строки из неё (все сколько есть). Но в блоке SELECT не указан ни один из (настоящих) столбцов таблицы. Не выбираются данные из какого-либо столбца.
В нашем примере указано что пока выводятся строки из таблицы TEMP_TABLE нужно выводить цифру 1, а не показывать данные какого-либо столбца.
Подробнее про псевдостолбцы: https://dzen.ru/a/Yo5F9Zm2iQ3edGxQ
Спасибо за активное участие в решении SQL-задач 😉
Запрос из предыдущей задачи выводит данные из таблицы TEMP_TABLE (так как SELECT..FROM TEMP_TABLE), поэтому будут выводиться строки из неё (все сколько есть). Но в блоке SELECT не указан ни один из (настоящих) столбцов таблицы. Не выбираются данные из какого-либо столбца.
В нашем примере указано что пока выводятся строки из таблицы TEMP_TABLE нужно выводить цифру 1, а не показывать данные какого-либо столбца.
Подробнее про псевдостолбцы: https://dzen.ru/a/Yo5F9Zm2iQ3edGxQ
Дзен | Статьи
Псевдостолбцы
Статья автора «Илья Хохлов» в Дзене ✍: Здравствуй, уважаемый читатель!
👍6
Доброе утро, друзья!
Дана следующая таблица TEST_TABLE с тремя строками:
SELECT * FROM TEST_TABLE
ID NAME
1 NULL
2 NULL
3 NULL
Дана следующая таблица TEST_TABLE с тремя строками:
SELECT * FROM TEST_TABLE
ID NAME
1 NULL
2 NULL
3 NULL
👍1
Каков будет результат следующего запроса: SELECT SUM(1) FROM TEST_TABLE
Anonymous Quiz
24%
Null
22%
1
1%
2
28%
3
0%
4
0%
5
7%
6
18%
Будет ошибка выполнения SQL-запроса
2024 уверенно начался! 🎉
Начнём год с отличных предложений!
Весь мощный курс по SQL и базам данных с нашей поддержкой и практикой в реальной базе данных можно купить по цене 5.900:
https://prime-soft.biz/pay/45
Большой практический курс программирования в PL/SQL (ORACLE), в котором мы будем много заниматься разработкой базы данных, будем автоматизировать бизнес задачи на примере банковской области всего за 11.900:
https://prime-soft.biz/pay/94
Оплату курса программирования в PL/SQL (ORACLE) можно разделить на два этапа (в начале обучения 5.990 и после 11го урока 5.990). Внести предоплату и начать обучение можно здесь:
https://prime-soft.biz/pay/194
Начать обучение на любом курсе мы можем сразу после оплаты! Обучение построено на заранее подготовленных видео уроках. После просмотра каждого урока нужно заходить в тестовую (учебную) базу данных, которую мы для Вас подготовим, и выполнять практическую часть! Благодаря подготовленным видеоурокам обучаться можно в любое время и ещё это позволило нам снизить стоимость обучения! 😌👌
Мы проверяем каждое решение, помогаем его оптимизировать и искать ошибки. Как только всё будет выполнено отлично, переходим к следующему уроку. И так - урок за уроком!
Желательно проходить минимум один-два урока в неделю, чтобы сохранить постоянное погружение в тему!
Буду рад ответить на дополнительные вопросы!
Начнём год с отличных предложений!
Весь мощный курс по SQL и базам данных с нашей поддержкой и практикой в реальной базе данных можно купить по цене 5.900:
https://prime-soft.biz/pay/45
Большой практический курс программирования в PL/SQL (ORACLE), в котором мы будем много заниматься разработкой базы данных, будем автоматизировать бизнес задачи на примере банковской области всего за 11.900:
https://prime-soft.biz/pay/94
Оплату курса программирования в PL/SQL (ORACLE) можно разделить на два этапа (в начале обучения 5.990 и после 11го урока 5.990). Внести предоплату и начать обучение можно здесь:
https://prime-soft.biz/pay/194
Начать обучение на любом курсе мы можем сразу после оплаты! Обучение построено на заранее подготовленных видео уроках. После просмотра каждого урока нужно заходить в тестовую (учебную) базу данных, которую мы для Вас подготовим, и выполнять практическую часть! Благодаря подготовленным видеоурокам обучаться можно в любое время и ещё это позволило нам снизить стоимость обучения! 😌👌
Мы проверяем каждое решение, помогаем его оптимизировать и искать ошибки. Как только всё будет выполнено отлично, переходим к следующему уроку. И так - урок за уроком!
Желательно проходить минимум один-два урока в неделю, чтобы сохранить постоянное погружение в тему!
Буду рад ответить на дополнительные вопросы!
👍6
Ещё одна интересная SQL-задача
Напишите SQL-команду, которая вывела бы текст 'ДАННЫЕ' (или любой другой текст) вертикально. То есть каждую букву необходимо вывести в отдельной строке.
Решение, как всегда, напишу позже 😌
Напишите SQL-команду, которая вывела бы текст 'ДАННЫЕ' (или любой другой текст) вертикально. То есть каждую букву необходимо вывести в отдельной строке.
Решение, как всегда, напишу позже 😌
Здравствуйте, друзья!
Записал видео решение 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