Пишем на 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
Всем привет! Немного айти юмора🙂
😁9
Всем хорошего понедельника!

Помните, почему РЕЛЯЦИОННЫЕ базы данных называются так? 🙂

В таких базах между таблицами существуют связи-отношения (один-к-одному, один-ко-многим, многие-ко-многоим). "Отношение" с английского языка переводится как "relation". Поэтому такие базы данных и называются реляционными.

И ещё напомню как достигаются связи между таблицами?
Связи между таблицами создаются с помощью ключей: первичных (primary key) и внешних (foreign key)!
👍9🔥2
Всем привет! Пока все не до конца ушли на выходные, предлагаю картиночку про нелёгкий труд it-поддержки!
😁12
Пишем на SQL pinned «КАК ПРОХОДИТ ОБУЧЕНИЕ НА НАШЕМ КУРСЕ SQL Весь курс состоит из 27 записанных видео уроков. Каждый урок длится примерно 1 час времени. Всем ученикам на нашем сервере создаём индивидуальную базу данных с данными, необходимыми для выполнения практических задач…»
Всем хороших выходных! 🙂
👍6
Здравствуйте, друзья!
Всем хорошего начала рабочей и учебной недели!
Нашёл ещё одну интересную задачу по SQL.
Все ли строки из таблицы VOUCHERS будут отобраны следующим запросом?
SELECT * FROM VOUCHERS WHERE ID_CODE = 1
UNION SELECT * FROM VOUCHERS WHERE ID_CODE <> 1
Anonymous Quiz
48%
Да
52%
Нет
1👍1
😁5
😁8
Всем доброго понедельника!

Приходилось уже искать дубли в таблице?

Работая с некоторой таблицей, иногда может понадобиться найти строки, у которых будет одинаковое значение в каком-нибудь столбце (или комбинации столбцов). Например, нужно проверить, есть ли в таблице CLIENTS строки, у которых было бы одинаковое значение в столбце EXT_CODE (ext - сокращение от английского external, то есть "внешний").
Можно легко найти дубли среди клиентов по внешнему коду если мы по этому столбцу сгруппируем ("схлопнем") все строки таблицы и при этом воспользуемся HAVING-ом, чтобы после группировки ("схлопывания") отобразить в результате только записи, куда сгруппировалось ("схлопнулось") более одной строки.

Решение:

SELECT EXT_CODE,
               COUNT(*)
   FROM CLIENTS
GROUP BY EXT_CODE
HAVING COUNT(*) > 1

Как видишь, WHERE не используется, а значит будут сначала отобраны все строки из таблицы клиентов. Затем они будут сгруппированы по EXT_CODE и после группировки мы получим внешние коды клиентов, по которым есть более одного клиента на один внешний код.

Позже планирую усложнить пример и дополнить статью.

Спасибо за внимание и, ещё раз, хорошего дня!
👍17
Здравствуйте, друзья! Похоже, последняя тема вызвала много обсуждений! Спасибо Вам за активное участие! Очень рад! Сниму видео-продолжение :) И еще хочу поделиться новым отзывом от ученика, а точнее ученицы, которая прошла наш курс "SQL. Базы данных. ORACLE": "Спасибо вам за сопровождение и за очень интересный курс - емко и все по делу!" Будем рады опубликовать и Ваши отзывы здесь!
👍63
Всем доброго дня!
Предлагаю начать эту неделю с очередного вопроса по базам данных:
Имеет ли значение порядок столбцов в составном индексе?
Anonymous Quiz
72%
Да
28%
Нет
👍5
Спасибо Вам за такие душевные комментарии!
😁6👍3
И вообще очень много хороших комментариев оставляете под видео! Спасибо Вам большое и за Ваше время и за отзывы!
👍2
Дорогие наши девушки и женщины! Мамы и бабушки!
Поздравляем Вас с 8 марта! 💐
Желаем счастья, здоровья, внимания и заботы от дорогих людей!
Спасибо Вам за то, что Вы у нас есть! 🎉
23
Всем доброго понедельника!

Если есть минутка, приглашаю решить хитрую SQL задачу:

В таблице TEMP_TABLE четыре строки.  Столбец CODE_CHAR этих строк имеет значение 1 для первой строки, для второй 2, для третьей 3 и для последней 4.
Сколько строк вернёт следующий запрос:
SELECT *
FROM TEMP_TABLE WHERE CODE_CHAR NOT IN (1, 2, 3, NULL)
Anonymous Quiz
43%
0
33%
1
1%
2
4%
3
18%
4
🔥5
Спасибо Вам большое за активность! Чуть позже добавлю объяснение.
Оно немного длинное, поэтому в подсказку-лампочку💡 не вместилось.
👍7