Здравствуйте, друзья!
Следующий вопрос для тех, кто уже прошёл 25ый урок нашего курса. Посложнее 🙂💪
Следующий вопрос для тех, кто уже прошёл 25ый урок нашего курса. Посложнее 🙂💪
Имеется новая пустая таблица, с привязанным к ней сиквенсом для генерации значений идентификаторов в столбец ID. При выполнили первых двух команд INSERT, вставились две строки в таблицу с идентификаторами в столбце ID 1 и 2, соответственно. Потом решили начать добавление строк заново, выполнив ROLLBACK. Произведённая вставка двух строк, естественно, откатилась. Таблица стала снова пустой. Снова выполняем команду INSERT.
Строчка с каким идентификатором в столбец ID будет вставлена?
Anonymous Quiz
22%
1
4%
2
58%
3
4%
4
6%
NULL
6%
Будет ошибка выполнения команды INSERT
Спасибо всем за участие в тесте! 🙂 Почти все ответили правильно! 👍
С началом новой рабочей и учебной недели!
И вот ещё одна задачка на тему транзакций 😌
Есть пустая таблица Table1, выполнили следующие команды к ней:
Insert into Table1...; вставка 1 строки
Insert into Table1...; вставка 1 строки
Alter table ...; добавили один столбец
Insert into Table1...; вставка 1 строки
Rollback;
И вот ещё одна задачка на тему транзакций 😌
Есть пустая таблица Table1, выполнили следующие команды к ней:
Insert into Table1...; вставка 1 строки
Insert into Table1...; вставка 1 строки
Alter table ...; добавили один столбец
Insert into Table1...; вставка 1 строки
Rollback;
Какая цифра будет в результате выполнения запроса:
Select count(*) from Table1
Select count(*) from Table1
Anonymous Quiz
23%
0
10%
1
40%
2
12%
3
14%
NULL
👍3
Доброе утро!
Подготовил небольшое видео с решениями нескольких задач, которые мы с Вами разобрали:
https://dzen.ru/video/watch/637830fcbe4db80030157f94
Подготовил небольшое видео с решениями нескольких задач, которые мы с Вами разобрали:
https://dzen.ru/video/watch/637830fcbe4db80030157f94
Дзен.Видео
Илья Хохлов | Решаем задачи по SQL ORACLE
Отвечаем на вопросы и решаем задачи по SQL с нашего телеграмм-канала: https://t.me/sql_oracle_databases
👍8🔥2👏1
Всем привет!
Предлагаю ещё один вопрос по базам данных:
В базе данных есть таблица PERSONS, хранящая сведения о сотрудниках компании. Телефоны сотрудников рабочие и мобильные хранятся в отдельной таблице PHONES.
Предлагаю ещё один вопрос по базам данных:
В базе данных есть таблица PERSONS, хранящая сведения о сотрудниках компании. Телефоны сотрудников рабочие и мобильные хранятся в отдельной таблице PHONES.
👍2
Если мы решим хранить мобильный телефон ещё и в таблице PERSONS (создадим новый для этого столбец), то это будет:
Anonymous Quiz
19%
Полиморфизм
67%
Денормализация
14%
Объектно-ориентированное программирование
👍4
Друзья, всем привет!
Очень хочу объяснить что такое ПОЛИМОРФИЗМ в языках программирования.
Это возможность создавать методы (функции, процедуры) с одним и тем же именем!
То есть можно иметь несколько функций, которые будут называться одинаково!!! 😌
Как программа узнает какую из функций выполнять, когда мы вызовем функцию по имени?! Ответ прост: функции должны иметь разные наборы параметров. Будет выполнена именно та функция, которой подойдёт набор параметров, указанный при её вызове!
Очень хочу объяснить что такое ПОЛИМОРФИЗМ в языках программирования.
Это возможность создавать методы (функции, процедуры) с одним и тем же именем!
То есть можно иметь несколько функций, которые будут называться одинаково!!! 😌
Как программа узнает какую из функций выполнять, когда мы вызовем функцию по имени?! Ответ прост: функции должны иметь разные наборы параметров. Будет выполнена именно та функция, которой подойдёт набор параметров, указанный при её вызове!
👍10🔥3
Здравствуйте, друзья!
В языке SQL в группе DML (команды для работы с ДАННЫМИ) есть 4 основные команды:
SELECT - выборка, чтение данных;
INSERT - добавление новых строк данных в таблицы;
UPDATE - изменение данных;
DELETE - удаление данных.
Есть ещё одна команда - MERGE.
Это универсальная команда заливки данных в таблицу, которая будет сама выбирать добавлять ли новые строки или редактировать информацию в существующих (сама выбирает для каких строк делать INSERT, а каким UPDATE) 🙂
КАК РАБОТАЕТ MERGE?
MERGE, как и INSERT, добавляет данные в целевую таблицу, но ей можно указать набор столбцов по которому предварительно проверять на наличие таких же записей в целевой таблице. Если по этим ключевым столбцам MERGE находит уже существующие такие же данные в целевой таблице, то эта команда обновляет данные этих строк. Можно указать конкретно какие столбцы должны быть обновлены, информация в каких столбцах должна быть обновлена (из источника).
В языке SQL в группе DML (команды для работы с ДАННЫМИ) есть 4 основные команды:
SELECT - выборка, чтение данных;
INSERT - добавление новых строк данных в таблицы;
UPDATE - изменение данных;
DELETE - удаление данных.
Есть ещё одна команда - MERGE.
Это универсальная команда заливки данных в таблицу, которая будет сама выбирать добавлять ли новые строки или редактировать информацию в существующих (сама выбирает для каких строк делать INSERT, а каким UPDATE) 🙂
КАК РАБОТАЕТ MERGE?
MERGE, как и INSERT, добавляет данные в целевую таблицу, но ей можно указать набор столбцов по которому предварительно проверять на наличие таких же записей в целевой таблице. Если по этим ключевым столбцам MERGE находит уже существующие такие же данные в целевой таблице, то эта команда обновляет данные этих строк. Можно указать конкретно какие столбцы должны быть обновлены, информация в каких столбцах должна быть обновлена (из источника).
👍20
Может ли в некоторой таблице один из столбцов определён как первичный ключ и одновременно как внешний ключ, ссылающийся на другую таблицу?
Anonymous Quiz
71%
Да
29%
Нет
Здравствуйте, дорогие друзья!
Всего через пол месяца наступит новый год! 🎉 Новый этап в нашей жизни! Пусть он будет максимально интересным и полезным для нас! 🎨🥇
Для всех, кто планирует обучение у нас на курсе, мы держим до 15го января 2023 года для Вас скидку. Хорошую такую! На курс по SQL и на программирование в PL/SQL (ORACLE). Надо успеть 😉
Записаться на курсы можно здесь:
https://prime-soft.biz/courses
Будем рады, если поделитесь этой информацией с теми кому была бы она интересна!
Всего через пол месяца наступит новый год! 🎉 Новый этап в нашей жизни! Пусть он будет максимально интересным и полезным для нас! 🎨🥇
Для всех, кто планирует обучение у нас на курсе, мы держим до 15го января 2023 года для Вас скидку. Хорошую такую! На курс по SQL и на программирование в PL/SQL (ORACLE). Надо успеть 😉
Записаться на курсы можно здесь:
https://prime-soft.biz/courses
Будем рады, если поделитесь этой информацией с теми кому была бы она интересна!
prime-soft.biz
Prime | Консалтинг и обучение
Бесплатные уроки и курсы SQL, ORACLE, MS SQL Server, MySQL, Базы данных, MS Excel, Программирование с практическими файлами и материалом. Уроки видеомонтажа. Adobe Premiere. Илья Хохлов. Курсы Прайм
🔥3
Запрос
SELECT * FROM PERSONS WHERE 1 = 1
SELECT * FROM PERSONS WHERE 1 = 1
Anonymous Quiz
67%
выведет все строки из таблицы PERSONS
10%
не выведет ни одной строки из таблицы PERSONS
24%
выдаст ошибку при выполнении
👍5
Всем привет!
Напишу немного полезности для Гуру 🙂💪
Чтобы вам тоже не было скучно на канале 😌
В СУБД MySQL и MS SQL Server для оптимизации команды UPDATE можно использовать INNER JOIN-ы. Даже их желательно использовать где возможно.
Например, нужно обновить строки таблицы VOUCHERS если их идентификатор есть в таблице VOUCHERS_SELECTED. Это можно сделать так:
UPDATE VOUCHERS
SET VOUCHER_STATE = 5
WHERE VOUCHER_ID IN
(SELECT VOUCHER_ID
FROM VOUCHERS_SELECTED)
можно с помощью EXISTS, а можно используя JOIN (INNER JOIN):
UPDATE VOUCHERS
JOIN VOUCHERS_SELECTED
ON VOUCHERS.VOUCHER_ID = VOUCHERS_SELECTED.VOUCHER_ID
SET VOUCHER_STATE = 5
В ORACLE в команде UPDATE не допускается использование JOIN-ов для ограничения строк обновляемых таблиц. Можно использовать EXISTS/NOT EXISTS и IN /NOT IN.
Почему желательно использовать INNER JOIN при наличии такой возможности в MySQL и MS SQL? Потому, что этим СУБД применение INNER JOIN позволит оптимизировать план выполнения операции обновления. Позволит быстрее определить какие именно строки будут обновлены без необходимости предварительной блокировки всех строк целевой таблицы до выяснения подзапросом какие строки именно будут изменены.
Напишу немного полезности для Гуру 🙂💪
Чтобы вам тоже не было скучно на канале 😌
В СУБД MySQL и MS SQL Server для оптимизации команды UPDATE можно использовать INNER JOIN-ы. Даже их желательно использовать где возможно.
Например, нужно обновить строки таблицы VOUCHERS если их идентификатор есть в таблице VOUCHERS_SELECTED. Это можно сделать так:
UPDATE VOUCHERS
SET VOUCHER_STATE = 5
WHERE VOUCHER_ID IN
(SELECT VOUCHER_ID
FROM VOUCHERS_SELECTED)
можно с помощью EXISTS, а можно используя JOIN (INNER JOIN):
UPDATE VOUCHERS
JOIN VOUCHERS_SELECTED
ON VOUCHERS.VOUCHER_ID = VOUCHERS_SELECTED.VOUCHER_ID
SET VOUCHER_STATE = 5
В ORACLE в команде UPDATE не допускается использование JOIN-ов для ограничения строк обновляемых таблиц. Можно использовать EXISTS/NOT EXISTS и IN /NOT IN.
Почему желательно использовать INNER JOIN при наличии такой возможности в MySQL и MS SQL? Потому, что этим СУБД применение INNER JOIN позволит оптимизировать план выполнения операции обновления. Позволит быстрее определить какие именно строки будут обновлены без необходимости предварительной блокировки всех строк целевой таблицы до выяснения подзапросом какие строки именно будут изменены.
👍8
Друзья, всем привет!
Спасибо за интерес и вовлеченность, с которым Вы учитесь на наших курсах по SQL и программированию в PL/SQL. Кто-то даже только недавно начал обучение, несмотря на конец года! Очень приятен такой настрой!
Почти все наступающие праздники мы будем Вас поддерживать, проверять Вашу работу, отвечать на вопросы и помогать оптимизировать работы! За исключением 31 го декабря и 1 го января. Эти два дня у нас выходной 😌
В остальное время будем стараться как и раньше максимально быстро отвечать на Ваши вопросы.
Спасибо за интерес и вовлеченность, с которым Вы учитесь на наших курсах по SQL и программированию в PL/SQL. Кто-то даже только недавно начал обучение, несмотря на конец года! Очень приятен такой настрой!
Почти все наступающие праздники мы будем Вас поддерживать, проверять Вашу работу, отвечать на вопросы и помогать оптимизировать работы! За исключением 31 го декабря и 1 го января. Эти два дня у нас выходной 😌
В остальное время будем стараться как и раньше максимально быстро отвечать на Ваши вопросы.
👍13
Друзья, всех с наступившим новым 2023 годом! 🎄
А также с наступающим рождеством! 🎉
Здоровья, счастья, благополучия! Всестороннего развития и успехов в Ваших начинаниях и в пути, по которому Вы уже идёте!
Терпение и труд, благие намерения и вера обязательно дадут хороший результат!
А также с наступающим рождеством! 🎉
Здоровья, счастья, благополучия! Всестороннего развития и успехов в Ваших начинаниях и в пути, по которому Вы уже идёте!
Терпение и труд, благие намерения и вера обязательно дадут хороший результат!
🍾13👍1
Всех с наступившим новым годом! 🎄
Наверняка у каждого из нас есть мечты и планы что бы мы хотели получить в этом году: освоить, наконец SQL, начать понимать подзапросы или получить более высокооплачиваемую должность!
И у меня есть планы на этот год, что я бы хотел сделать!
Я с удовольствием продолжу вести канал по SQL и сниму новые обучающие видео! За прошлый год канал в Телеграмме набрал более 200 подписчиков! Это же не мало! Думаю, что в течение 2023 года нас и тысяча будет! Почему нет:)
И конечно постараемся в начале 2023 года не только выпустить новые версии наших программных продуктов, но и сделать новое полезное ПО.
В этом году уже успел посмотреть интернет ресурсы на тему типичных вопросов на собеседованиях и нашёл интересные примеры. Вот сегодня предлагаю рассмотреть один из простых вопросов: чем NULL отличается от 0?
NULL - это отсутствие данных, а 0 - это информация!!! Например, в базе данных может быть таблица, в которую каждый день сохраняют температуру, проводят метеорологические исследования. И за определённый день можно сохранить в столбец "Градусов по C°" число 0. То есть в этот день было ноль градусов. А если за этот день в столбец с температурным показателем ничего не сохранить, то информации о температуре не будет - будет NULL. NULL - это отсутствие данных. NULL ещё называют неопределённостью, так как не известно какая была температура в тот день, ведь мы её не сохранили.
Всем хорошего старта в новом году!
Наверняка у каждого из нас есть мечты и планы что бы мы хотели получить в этом году: освоить, наконец SQL, начать понимать подзапросы или получить более высокооплачиваемую должность!
И у меня есть планы на этот год, что я бы хотел сделать!
Я с удовольствием продолжу вести канал по SQL и сниму новые обучающие видео! За прошлый год канал в Телеграмме набрал более 200 подписчиков! Это же не мало! Думаю, что в течение 2023 года нас и тысяча будет! Почему нет:)
И конечно постараемся в начале 2023 года не только выпустить новые версии наших программных продуктов, но и сделать новое полезное ПО.
В этом году уже успел посмотреть интернет ресурсы на тему типичных вопросов на собеседованиях и нашёл интересные примеры. Вот сегодня предлагаю рассмотреть один из простых вопросов: чем NULL отличается от 0?
NULL - это отсутствие данных, а 0 - это информация!!! Например, в базе данных может быть таблица, в которую каждый день сохраняют температуру, проводят метеорологические исследования. И за определённый день можно сохранить в столбец "Градусов по C°" число 0. То есть в этот день было ноль градусов. А если за этот день в столбец с температурным показателем ничего не сохранить, то информации о температуре не будет - будет NULL. NULL - это отсутствие данных. NULL ещё называют неопределённостью, так как не известно какая была температура в тот день, ведь мы её не сохранили.
Всем хорошего старта в новом году!
👍21