Oracle Developer👨🏻‍💻
3.19K subscribers
604 photos
66 videos
2 files
480 links
🔝 канал о разработке в СУБД Oracle:
SQL, PL/SQL, оптимизация, архитектура и многое другое...

Backend-pro.ru - обучение по различным программам, связанных с backend-разработкой для ФЛ и ЮЛ.

Отец-основатель: @denis_dbd Кивилёв Денис
Download Telegram
July 20, 2023
July 26, 2023
July 31, 2023
August 8, 2023
Решение задачи на особенности работы с null (Сбер)

Демо-данные для примера
create table test1(a number);
insert into test1 values(1);
insert into test1 values(2);
insert into test1 values(null);
insert into test1 values('');
commit;

Что нужно помнить
1️⃣ null - это неопределенность.
2️⃣ Кавычки без значения ('') - это null, если это не тип CHAR.
2️⃣ Для сравнения с null нельзя просто написать равенство или неравенство, нужно использовать is null или is not null
3️⃣ Использование null в IN бесполезно.

* - правила справедливы для Oracle

Что получим в итоге
Для краткости рассмотрим кейсы, когда А = 1 и A = null (для '' будет такой же)
A = 1
1) все строки, т.к. условие выполняется всегда
2) аналогично
3) аналогично
4) ничего 1!=1, условие всегда не выполняется
5) все строки, т.к. 1 in (1) всегда будет выполняться.
6) ни одной строки, т.к. условие никогда не будет выполнено.

А = null
1) все строки, т.к. условие выполняется всегда
2) ничего, null - особенное значение.
3) все строки, т.к. условие выполняется всегда
4) ничего, null сравниваем через is.
5) аналогично
6) аналогично.

Я не очень люблю подобные задачи... на собесе, помнится, в каких-то неочевидных пунктах запутался, бывает )

Итог: собеседование в Сбер прошел, предложили неплохую ставку, но все равно отказался 🤷🏻‍♂️ А вам достался материал 😉

Обсудить в чатике 💬

#решениезадачи #собеседование #сбер
Oracle Developer
August 10, 2023
August 11, 2023
August 25, 2023
August 29, 2023
August 31, 2023
September 1, 2023
September 4, 2023
SQL для начинающих тестировщиков (1/17)

Привет всем, меня зовут Даниил!
В тестировании уже несколько лет, долгое время SQL мне был не нужен. Однако, потом я попал на проект, где SQL был основным инструментом для тестирования - пришлось изучать 🤷🏻‍♂️
Текущий уровень знаний оцениваю как выше среднего (среди тестировщиков). Понятное дело, что есть ребята, которые меня многому научат.

Хотелось бы рассказать о граблях и лайфаках, которые я постиг за это время.
Материал будет полезен тем, кто мало работал с SQL, но сейчас самостоятельно его изучает - как вспомогательный инструмент.
В теории может быть полезен для разработчиков, если они помогают тестировщикам писать скрипты.

Планирую описать
1. А для чего SQL тестировщику?
2. Чем скрипт тестировщика отличается от скрипта разработчика?
3. С чего начать изучать SQL?
4. Select * from - плохая привычка, правильная select distinct * from
5. NVL - вторая правильная привычка тестировщика
6. Так left или inner?
7. Избегаем конструкции вида select * from (select * from (select * from t2) t1) t
8. With as - великое изобретение для работы тестировщика
9. MINUS - второе великое изобретение для работы тестировщика
10. Работа с датами
11. Алиасы таблиц - правильный тон
12. Параметризация скриптов

Примечание
▫️ Я не планирую писать учебник или ссылки. Многое гуглится, еще больше можно просто узнать читая скрипты опытных разработчиков, ну и личное общение с ними - никто не отменял.
▫️Все ошибки, приведенные в постах, реальны (либо мои, либо чужие).
▫️Писать я буду про select. Модификация данных - отдельная тема.
▫️В постах будет рассматриваться только Oracle.

Автор: @KlimenkovDM
#sqlдлятестировщиков #тестирование
Специально для Oracle Developer
September 4, 2023
Чем скрипт тестировщика отличается от скрипта разработчика? (2/17)

Самое главное, cкрипт тестировщика МОЖЕТ быть не оптимальным, но он ДОЛЖЕН возвращать верный результат.

Т.е. часто лучше пойти каким-то более длинным путем написания скрипта, нежели разработчик.
Да, скрипт может выполняться очень долго, но, если он дает такой же результат, что и скрипт разработчика, значится с 99% уверенностью можно считать, что все работает корректно.

Поэтому не нужно стремиться писать оптимально и красиво. Нужно стремиться писать понятно и прямолинейно. Т.е. каждая следующая строчка скрипта явно должна быть очевидна вам и вашему коллеге.
⚠️ скрипт только для дев/тест сред.

Звучит непонятно?
Надеюсь, следующие посты внесут ясность 😉

Обсудить в чатике 💬

Автор: @KlimenkovDM
#sqlдлятестировщиков #тестирование
Специально для Oracle Developer
September 5, 2023
September 6, 2023
September 7, 2023
September 8, 2023
September 13, 2023
September 18, 2023
September 18, 2023
September 19, 2023