Пишем на SQL
الذهاب إلى القناة على Telegram
Уроки по SQL. Изучаем базы данных на примере СУБД ORACLE, MySQL, MS SQL Server, PostgreSql Мой курс по SQL и базам данных: https://prime-soft.biz/courses/sql Связь со мной @iliahohlov
إظهار المزيد1 891
المشتركون
-124 ساعات
-57 أيام
-730 أيام
أرشيف المشاركات
1 891
Рекомендации по написанию программного кода хранимых функции и процедур
Чем больше нагрузка и больше одновременно выполняющихся транзакций, тем больше и ответственности при создании хранимых функций и процедур. Хорошо написанный программный код легко сопровождаем и не боится параллельной работы! Ниже собрал для вас основные рекомендации, которые важно учитывать при разработке хранимок (функций, процедур, триггеров).
1. Максимально эффективное обращение к данных (желательно всегда по первичным ключам и индексам);
2. Разделение сложных операций на более простые (сложный update, insert или delete с подзапросами можно упростить - сделать его по ключу, а данные, получаемые подзапросами, можно предварительно положить во временную таблицу или таблицу временного хранения данных);
3. Соблюдение идентичной последовательности работы с таблицами в разных функциях и процедурах (это позволит минимизировать вероятность взаимных блокировок);
4. Форматирование кода (соблюдение отступов, единое оформление, принятое в компании или в конкретной АС), использование регламентов оформления кода;
5. Соблюдение соответствия программы кода хранимки её назначению (процедура, открывающая вклад клиенту, должна открывать вклад клиенту и не должна дополнительно закрывать кредит);
6. Краткое и понятное комментирование неочевидных участков кода;
7. Идеальный код одной хранимки помещается на одном экране, чтобы не пришлось его прокручивать (конечно, на практике, это далеко не всегда так, но надо к этому стремиться). Если алгоритм большой, то его нужно разбивать на дополнительные функции и процедуры, которые можно использовать в коде основной функции/процедуры.
1 891
Мини-тест на знание основ SQL ⭐️! Что вернёт запрос? SELECT COALESCE(NULL, NULL, 'SQL', 'DB');
1 891
Любая СУБД может группировать данные на основе значения не одного столбца, а, при необходимости, набора столбцов. Тогда строчки, с одинаковыми значениями, указанных в GROUP BY столбцах, будут сливаться в одну. Строчки, у которых, хотя бы в одном из указанных столбцов, значение другое - будут создавать новую группу. Например, подсчитаем сколько сотрудников работает в каждом филиале в каждом отделе:
1 891
Каким будет результат выполнения следующего запроса (на примере СУБД MySQL, PostgreSQL)? SELECT FLOOR(10.9), CEIL(10.1)
1 891
Спасибо всем за активное участие и за дискуссию!
При соединении таблиц, LEFT и RIGHT JOIN-ы действительно равноценны и ничего не меняют в выводимом наборе данных, если таблицы в запросе поменять местами. Но, как Вы и написали, если порядок столбцов в блоке SELECT не указан явно (а указана звездочка), то в результирующем наборе столбцы таблиц будут выводиться в порядке указания таблиц в запросе: сначала будут выведены все столбцы первой таблицы запроса, затем столбцы второй таблицы, указанной в запросе и т.д.
1 891
Сегодня нашёл интересный тест на тему соединений.
В чем разница между LEFT JOIN и RIGHT JOIN, если соединяемые таблицы в запросе поменять местами?
1 891
Курс Программирование в PL/SQL (ORACLE) доступен теперь и на Степике:
https://stepik.org/a/250244
1 891
Специально для тех, кто не может решиться! Скидки на обучение SQL и обучение программированию в PL/SQL (ORACLE)! 🎁
Весь курс SQL и базам данных за 8.900
программа обучения
записаться и оплатить
Весь курс Программирования в PL/SQL (ORACLE) за 14.500
программа обучения
записаться и оплатить
Курс SQL + Программирование в PL/SQL (ORACLE) за 16.900
записаться и оплатить
Всё обучение индивидуальное!
Начать можем сразу после оплаты!
Время на обучение не ограниченно (но желательно проходить не менее 1-2 урока в неделю).
Буду рад дополнительным вопросам на почту info@prime-soft.biz или под постом.
1 891
Спасибо всем за участие! Ниже перечень слов, из которых составлен филворд:
База
Выборка
Да
Запись
Запрос
Зависимость
И
Или
Ключ
Код
Команда
Кортеж
Минус
Не
Объединение
Один
Множество
Нет
Поле
Связь
Столбец
СУБД
Таблица
1 891
Всем доброго понедельника! Как насчет филворда на тему баз данных на русском?! Сложность не высокая. Всего спрятано 23 слова. Решение опубликую чуть позже.
1 891
Сколько строчек вернёт запрос:
SELECT * FROM CLIENTS WHERE INN IN (SELECT INN FROM REG_INN)
1 891
Всем привет! Предлагаю очередную мини-задачу по SQL:
В таблице CLIENTS три строки:
ID NAME INN
-------------------------------------------------
1 ИП Иванов И.И. 690501019999
2 АО Рога и копыта 1234567890
3 АО ПАКС 2345678901
В таблице REG_INN две строки:
INN
--------------------
1234567890
NULL
1 891
Всем привет! Интересная задача от Александра (для тех, кто не читает комментарии 🙂).
Сколько строк вернёт следующий запрос (на примере PostgreSql):
select 123 union all select 123 union select 123
1 891
В БД PostgreSQL в таблице CODES (CODE VARCHAR(10)) нет строк. Сколько строк вставит команда:
INSERT INTO CODES (CODE) SELECT 123 UNION SELECT 123
1 891
Что произойдёт при выполнении следующей команды?
INSERT INTO CLIENTS
(NAME, INN)
VALUES
('АО Зелёный дом', NULL)
1 891
Всем привет!
Решая практические задачи и даже проходя небольшие тесты по SQL, мы становимся умнее: освежаем в памяти возможности языка SQL, узнаём и закрепляем новые знания! Поэтому, не ленимся и принимаем участие!😉
Предлагаю очередной интересный вопрос по базам данных.
В базе данных, среди прочих, есть таблица клиентов CLIENTS, определённая так:
CREATE TABLE CLIENTS (
ID INTEGER GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
NAME VARCHAR(100) NOT NULL,
INN VARCHAR(20));
CREATE UNIQUE INDEX CLIENTS_INN ON CLIENTS (INN);
В таблице CLIENTS две строки:
ID NAME INN
1 АО Волга 12345
2 ИП Пятаков NULL
1 891
Интересно было бы узнать сколько сейчас работает удалённо.
Вы работаете в офисе или из дома?
1 891
Здравствуйте, друзья!
На следующей неделе планирую новую группу по SQL и PostgreSql, и в этот раз обучение будет по будням! 👌
- Он-лайн обучение по вторникам и четвергам 19:30 - 21:00;
- Закрытая Телеграм группа куда я буду выкладывать записи наших он-лайн встреч (на случай, если пропустите или захотите повторить материал);
- Будут самостоятельные практические задачи на тренеровочной базе данных. Я буду проверять Ваши решения, помогать оптимизировать их и находить ошибки!
Посмотреть программу обучения и записаться можно тут: https://prime-soft.biz/courses/postgresql
Оплатить можно в два этапа. Вначале 50% (7.450 ₽) и столько же после пятого урока. Всего будет 10 онлайн встреч.
График обучения:
- вт, чт 19:30 - 21:00;
- 08.07.2025 - 07.08.2025!
Оставляйте вопросы прямо под постом или отправляйте на почту: info@prime-soft.biz
