ru
Feedback
Пишем на SQL

Пишем на SQL

Открыть в Telegram

Уроки по SQL. Изучаем базы данных на примере СУБД ORACLE, MySQL, MS SQL Server, PostgreSql Мой курс по SQL и базам данных: https://prime-soft.biz/courses/sql Связь со мной @iliahohlov

Больше
1 891
Подписчики
-124 часа
-57 дней
-730 день
Архив постов
Рекомендации по написанию программного кода хранимых функции и процедур Чем больше нагрузка и больше одновременно выполняющихся транзакций, тем больше и ответственности при создании хранимых функций и процедур. Хорошо написанный программный код легко сопровождаем и не боится параллельной работы! Ниже собрал для вас основные рекомендации, которые важно учитывать при разработке хранимок (функций, процедур, триггеров). 1. Максимально эффективное обращение к данных (желательно всегда по первичным ключам и индексам); 2. Разделение сложных операций на более простые (сложный update, insert или delete с подзапросами можно упростить - сделать его по ключу, а данные, получаемые подзапросами, можно предварительно положить во временную таблицу или таблицу временного хранения данных); 3. Соблюдение идентичной последовательности работы с таблицами в разных функциях и процедурах (это позволит минимизировать вероятность взаимных блокировок); 4. Форматирование кода (соблюдение отступов, единое оформление, принятое в компании или в конкретной АС), использование регламентов оформления кода; 5. Соблюдение соответствия программы кода хранимки её назначению (процедура, открывающая вклад клиенту, должна открывать вклад клиенту и не должна дополнительно закрывать кредит); 6. Краткое и понятное комментирование неочевидных участков кода; 7. Идеальный код одной хранимки помещается на одном экране, чтобы не пришлось его прокручивать (конечно, на практике, это далеко не всегда так, но надо к этому стремиться). Если алгоритм большой, то его нужно разбивать на дополнительные функции и процедуры, которые можно использовать в коде основной функции/процедуры.

Мини-тест на знание основ SQL ⭐️! Что вернёт запрос? SELECT COALESCE(NULL, NULL, 'SQL', 'DB');
Anonymous voting

Получаем итоги на каждое сочетание название филиала и название департамента:

Любая СУБД может группировать данные на основе значения не одного столбца, а, при необходимости, набора столбцов. Тогда строчки, с одинаковыми значениями, указанных в GROUP BY столбцах, будут сливаться в одну. Строчки, у которых, хотя бы в одном из указанных столбцов, значение другое - будут создавать новую группу. Например, подсчитаем сколько сотрудников работает в каждом филиале в каждом отделе:

Каким будет результат выполнения следующего запроса (на примере СУБД MySQL, PostgreSQL)? SELECT FLOOR(10.9), CEIL(10.1)
Anonymous voting

Спасибо всем за активное участие и за дискуссию! При соединении таблиц, LEFT и RIGHT JOIN-ы действительно равноценны и ничего не меняют в выводимом наборе данных, если таблицы в запросе поменять местами. Но, как Вы и написали, если порядок столбцов в блоке SELECT не указан явно (а указана звездочка), то в результирующем наборе столбцы таблиц будут выводиться в порядке указания таблиц в запросе: сначала будут выведены все столбцы первой таблицы запроса, затем столбцы второй таблицы, указанной в запросе и т.д.

Сегодня нашёл интересный тест на тему соединений. В чем разница между LEFT JOIN и RIGHT JOIN, если соединяемые таблицы в запросе поменять местами?
Anonymous voting

Курс Программирование в PL/SQL (ORACLE) доступен теперь и на Степике: https://stepik.org/a/250244

Специально для тех, кто не может решиться! Скидки на обучение SQL и обучение программированию в PL/SQL (ORACLE)! 🎁 Весь курс SQL и базам данных за 8.900 программа обучения записаться и оплатить Весь курс Программирования в PL/SQL (ORACLE) за 14.500 программа обучения записаться и оплатить Курс SQL + Программирование в PL/SQL (ORACLE) за 16.900 записаться и оплатить Всё обучение индивидуальное! Начать можем сразу после оплаты! Время на обучение не ограниченно (но желательно проходить не менее 1-2 урока в неделю). Буду рад дополнительным вопросам на почту info@prime-soft.biz или под постом.

Спасибо всем за участие! Ниже перечень слов, из которых составлен филворд: База Выборка Да Запись Запрос Зависимость И Или Ключ Код Команда Кортеж Минус Не Объединение Один Множество Нет Поле Связь Столбец СУБД Таблица

Всем доброго понедельника! Как насчет филворда на тему баз данных на русском?! Сложность не высокая. Всего спрятано 23 слова. Решение опубликую чуть позже.

Сколько строчек вернёт запрос: SELECT * FROM CLIENTS WHERE INN IN (SELECT INN FROM REG_INN)
Anonymous voting

Всем привет! Предлагаю очередную мини-задачу по SQL: В таблице CLIENTS три строки: ID     NAME                        INN ------------------------------------------------- 1      ИП Иванов И.И.      690501019999 2      АО Рога и копыта  1234567890 3      АО ПАКС                   2345678901 В таблице REG_INN  две строки: INN -------------------- 1234567890 NULL

Всем привет! Интересная задача от Александра (для тех, кто не читает комментарии 🙂). Сколько строк вернёт следующий запрос (на примере PostgreSql): select 123 union all select 123 union select 123
Anonymous voting

В БД PostgreSQL в таблице CODES (CODE VARCHAR(10)) нет строк. Сколько строк вставит команда: INSERT INTO CODES (CODE) SELECT 123 UNION SELECT 123
Anonymous voting

Что произойдёт при выполнении SQL команды?
Anonymous voting

Что произойдёт при выполнении следующей команды? INSERT INTO CLIENTS (NAME, INN) VALUES ('АО Зелёный дом', NULL)

Всем привет! Решая практические задачи и даже проходя небольшие тесты по 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

Интересно было бы узнать сколько сейчас работает удалённо. Вы работаете в офисе или из дома?
Anonymous voting

Здравствуйте, друзья! На следующей неделе планирую новую группу по 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