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

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

Связь со мной @iliahohlov
Download Telegram
Как мы работаем в праздники:

С 5 января мы онлайн! Будем полностью поддерживать Вас в обучении: проверять решения самостоятельных работ и отвечать на любые вопросы!
👍5
Поздравляем всех с новым этапом в личной и профессиональной жизни!

С Новым годом и Рождеством! 🎉

Спасибо всем, кто обучается, обучался или начинает обучаться с нами! Постоянных, систематических успехов в освоении новых знаний и умений! 💪
Будем рады Вашим обращениям и после обучения! Обращайтесь за советами и вопросами 🤗
🎄17
Всем привет! 👋

Поздравляем с началом нового рабочего (и учебного) года! Успехов и достижений! 💻

Знаете, что в базах данных, наряду с остальными типами объектов, могут быть ещё и синонимы (synonym)?

Синонимы — это альтернативные имена (псевдонимы) для объектов баз данных (таблиц, представлений, хранимок, пакетов, и т.д.). Это указатели на реальные объекты.

Например, можно создать короткое или удобное имя для объекта, который находится в другой схеме или даже в другой базе данных и обращаться к нему, как будто он лежит прямо в нашей схеме.

Самый главный плюс использования синонимов - это абстракция и независимость от изменений. Если реальная таблица переезжает в другую схему, нам нужно будет не переписывать все запросы, а всего лишь создать синоним с именем таблицы и в нем указать реальное расположение таблицы! 👌

Все SQL-запросы и команды к этой таблице продолжат работать без изменений. Здорово, правда? И это лишь одно из назначений синонимов! 💪
👍9
В таблице DOCS две строки:
ID DOCNUM
1 ААА
2 ааа
Сколько строк вернет запрос: SELECT * FROM DOCS WHERE '%' LIKE DOCNUM
Anonymous Quiz
57%
0
6%
1
35%
2
3%
3
🔥2🤔2
Всем привет!

Есть запрос, выводящий операции по некоторому счету за период:

SELECT t.DOCDATE, t.DOCNUM, t.AMOUNT
FROM V_SVERKA_2601 t
WHERE t.ACCDBT LIKE '51%'
ORDER BY t.DOCDATE ASC
UNION ALL
SELECT t.DOCDATE, t.DOCNUM, t.AMOUNT
FROM V_SVERKA_2601 t
WHERE t.ACCCRD LIKE '51%'
ORDER BY t.DOCDATE DESC
Привет шахматистам!

Кто справится с задачей: ход белых, нужно поставить мат в один ход. Попробуйте без ИИ.
👍3
Всем привет!

Встречались с блокировками во время прогрузки и установки пакетов? Когда пытаешься прогрузить новую версию пакета, а он постоянно кем то используется и заблокирован: то кто-то вызывает функцию пакета, то он залочен джобом (который тоже вызывает какую-то его процедуру).

Чтобы суметь таки прогрузить пакет на разработческой базе или тестовой (не на проде) можно запустить его компиляцию, далее с помощью сессий, узнать свой sid (например, это можно сделать в PL/SQL Developer-е в окне Tools -> Sessions), подставить его в этот скрипт в переменную v_mister_president_session и запустить его. Скрипт будет находить всех, кто блокирует Вашу сессию и будет убивать (kill) их. А ещё некоторое время будет проверять, не появился ли кто-то еще, кто хочет Вас заблокировать. Как только в течение некоторого времени больше не будет появляться сессий, которых необходимо отстреливать, скрипт сообщит о завершении работы! Разумеется, у пользователя, запускающего скрипт, должны быть права на снятие сессий.

#oracle #plsql #kill_sessions
👍42
Таблица CLIENTS имеет структуру:
CREATE TABLE CLIENTS (
ID INT PRIMARY KEY AUTO_INCREMENT,
NAME VARCHAR(100) NOT NULL,
INN VARCHAR(12),
KPP VARCHAR(9),
DESCRIPTION VARCHAR(100)
);

Таблица INVOICES имеет структуру:
CREATE TABLE INVOICES (
ID INT PRIMARY KEY AUTO_INCREMENT,
DATE_INV DATE NOT NULL,
NOM_INV VARCHAR(20) NOT NULL,
AMOUNT DECIMAL(17, 2),
ID_CLIENT INT NOT NULL,
DESCRIPTION VARCHAR(100),
FOREIGN KEY (ID_CLIENT) REFERENCES CLIENTS(ID)
);

Есть два запроса:
a)
SELECT c.*
FROM CLIENTS c
LEFT JOIN INVOICES i
ON c.ID = i.ID_CLIENT
WHERE i.ID IS NULL

b)
SELECT *
FROM CLIENTS c
WHERE NOT EXISTS (SELECT *
FROM INVOICES i
WHERE i.ID_CLIENT = c.ID)
2🤔1
ЧЕМ ОБУЧЕНИЕ В ФОРМАТЕ КУРСА ЛУЧШЕ САМОСТОЯТЕЛЬНОГО

Любым знаниям можно научиться как курсом/программой, так и самостоятельно.

👉 Самое главное отличие в способах получения - это время!
👉 В режиме курса Вас проведут и покажут все, что нужно, объяснят возможные проблемы и способы решения.
👉 В нужных местах Вы будете представлены один-на-один с нужными задачами.
👉 И постоянно у Вас будет поддержка, чтобы помочь направить мысли в нужную сторону.
👉 Во всех задачах разбираются индивидуально и выбранные методы решения задач, и оптимальные (и почему они наиболее оптимальные).
👉 При изучении SQL в режиме курса, его можно освоить менее, чем за месяц. В самостоятельном режиме - гораздо дольше и ещё откуда будешь знать, ко всему ли готов. Что нужно знать и уметь ещё.

У нас сегодня последний день специальной цены на изучение SQL и MS Excel!
Не откладывайте на "как-нибудь потом" своё настоящее и будущее!
👍41
Для тех, кто думает о смене работы на работу из IT-сферы. Чем айти привлекателен!
Итак:

ПЛЮСЫ РАБОТЫ В IT

👉 Хорошая зарплата. В большинстве случаев сотрудникам айти специальностей хорошо платят!
👉 Гибкий график. Да, многие программисты, аналитики и тестировщики работают по удобному графику и это плюс!
👉 Возможность работать удалённо! Многие компании разрешают специалистам работать из дома. Удобно и экономит время и сотруднику, и деньги компании. В Германии за удалённый формат работы часто ещё и доплачивают, потому что сотрудник не расходует электричество компании. Мелочь, а получить раз в три месяца дополнительные 120 евро (11 тыс руб) на счет приятно.
👉 Возможность жить в другой стране с визой цифрового кочевника. Многие страны открывают возможность жить у себя, если Вы работаете в айти и зарабатываете не в этой стране. Главное, что Вы приносите стране деньги и даже часто не обязательно в ней платить налоги (если не заработали больше определённой суммы в год или не живёте в ней 183 или больше дней в году).
👉 Дополнительные социальные льготы для семей айти специалистов. Например, в России, начиная с 2022 года появилось льготное ипотечное кредитование для сотрудников it-компаний.
👉 Возможность развиваться и идти в ногу со временем! Вы знаете что и как работает изнутри.

Буду рад Вашим комментариям под постом. Какие плюсы Вы видите для себя в работы в айти.
Чуть позже напишу минусы :)
👍4
В таблице CLIENTS следующие записи:
ID NAME INN
1 Ставрополь-отель 111
2 АО Проще простого 222

В таблице INVOICES следующие записи:
ID DATE_INV ID_CLIENT
1 20.01.2026 1
2 21.02.2026 1

Есть запрос:
SELECT c.ID,
c.NAME,
CASE
WHEN c.INN IS NOT NULL THEN
'Готовый'
WHEN EXISTS (select 1 from INVOICES where ID_CLIENT = c.ID) THEN
'Действующий'
END INFO
FROM CLIENTS c
ORDER BY c.ID
Что будет выведено в столбце INFO в первой строке результирующего набора данных указанным выше запросом?
Anonymous Quiz
8%
Null
66%
Готовый
22%
Действующий
5%
1
Есть два запроса:

1)
select fld1 from table1 except select fld1 from table2;

2)
select fld1 from table2 except select fld1 from table1;
👍2
Всем привет!

Спасибо за активное участие в решении задач и тестов по SQL! 🎉

Ранее писал про плюсы работы в it сфере. Теперь давайте посмотрим минусы:

Сидячая работа. Работа в сфере айти чаще всего предполагает ежедневное долгое нахождение перед монитором / за ноутбуком. Чтобы это меньше сказывалось на здоровье рекомендуется периодически делать гимнастику, вести активность.
Нагрузка на глаза, зрение. Ещё один большой минус работы за компьютером. Чтобы не получить проблем со зрением, рекомендую тоже периодически отвлекаться от экрана, менять деятельность. Придумывать алгоритм, например, можно и не глядя в монитор.
Постоянное обучение. Технологии, которые были актуальны вчера, завтра могут устареть. Нужно поддерживать компетентность, чтобы оставаться востребованным!

Напишите, какие видите минусы в работе в айти Вы! Будет очень интересно! 🤗
Может ли столбец, являющийся первичным ключом, быть одновременно и внешним ключом? То есть ссылаться на столбец другой таблицы.
Anonymous Quiz
72%
Да, может
28%
Нет, не может