Пишем на SQL
1.93K subscribers
43 photos
7 videos
12 files
117 links
Уроки по SQL. Изучаем базы данных на примере СУБД ORACLE, MySQL, MS SQL Server, PostgreSql

Мой курс по SQL и базам данных:
https://prime-soft.biz/courses/sql

Связь со мной @iliahohlov
Download Telegram
Здравствуйте, друзья! Всем хорошего начала рабочей и учебной недели! Вчера вечером обнаружил отзыв на нашем Дзен-Канале одного из наших учеников. Всегда приятно такое получить! Спасибо!
Мини-вопрос:
Какая команда SQL используется для изменения объектов базы данных?
Anonymous Quiz
7%
TRUNCATE
36%
UPDATE
3%
CREATE
54%
ALTER
Уверен, что большинство ответили на прошлый вопрос не правильно потому, что поторопились🙂

Ключевое слово - Объекты.
Нужно было выбрать команду изменения ОБЪЕКТОВ базы данных, например, таблиц (а не данных в них), пользователей и т.д.
👍1
Предлагаю решить следующую задачу. На какой строке SQL запроса ошибка (при условии, что используемые в запросе таблицы и поля таблиц в базе данных существуют):
Anonymous Quiz
4%
SELECT DATE_CREATE,
33%
5 DOC_TYPE
1%
FROM PRIVATE_DOCS
10%
WHERE IS_EXPIRED IS NULL
32%
ORDER BY DATE_CREATE
0%
UNION ALL
4%
SELECT d.DATE_CREATE,
8%
d.VOUCHER_TYPE DOC_TYPE
1%
FROM VOUCHERS d
7%
ORDER BY DATE_CREATE
Друзья, если вы ответили не правильно и если не понятно пояснение правильного ответа, то можете написать в комментариях почему выбрали вашу строку (которую считаете ошибочной в запросе). Я поясню почему она правильная👍
Доброе утро, друзья!

Что оптимальнее для ORACLE писать в блоке SELECT подзапроса, проверяющего наличие записи в другой таблице, звёздочку:

SELECT *
FROM Persons p
WHERE EXISTS (SELECT * FROM PersonCars WHERE PersonID = p.PersonID)

или псевдостолбец:

SELECT *
  FROM Persons p
WHERE EXISTS (SELECT 1 FROM PersonCars WHERE PersonID = p.PersonID)

Как ответил, один из разработчиков ORACLE, для СУБД по трудозатратам это даст равнозначные показатели! Поэтому можно писать как больше нравится 🙂👍
👍8
В конце прошлой недели получил хорошую новость: моя книга "Курс SQL. Базы данных. ORACLE" стала доступна и в Google. Books!

https://play.google.com/store/books/details?id=MLSREAAAQBAJ
👍7
Предлагаю ещё одну похожую задачу. В следующем SQL-коде в одной из строчек ошибка.

SELECT v.VOUCHER_DATE,
               v.VOUCHER_STATE,
               NULL  CREATE_USER,
               NULL   ADD_INFO,
               v.USER_ID
  FROM VOUCHERS v
UNION ALL
SELECT ov.VOUCHER_DATE,
               2 VOUCHER_STATE,
               NULL  CREATE_USER,
               NULL
  FROM OLD_VOUCHERS ov
   LEFT JOIN CLIENTS c
      ON c.ID_CLIENT = ov.ID_CLIENT
WHERE c.ID_CLIENT IS NULL
ORDER BY 1
В каком блоке ошибка, если известно, что все используемые таблицы в базе данных существуют и имена столбцов написаны правильно?
Anonymous Quiz
38%
В блоке SELECT одного из запросов
26%
В соединении во втором SELECT-е
16%
В блоке WHERE во втором SELECT-е
20%
В блоке ORDER BY
👍5
Две из нижеприведённых функций в ORACLE во многих случаях могут равноценно заменять друг друга (работают одинаково), а другая работает по-другому. Какая?
Anonymous Quiz
9%
NVL
53%
NVL2
37%
COALESCE
👍3
Здравствуйте, друзья!

Следующий вопрос для тех, кто уже прошёл 25ый урок нашего курса. Посложнее 🙂💪