Авторский канал про Базы Данных и SQL
Ресурсы, гайды, задачи, шпаргалки.
Информация ежедневно пополняется!
Cотрудничество: @energy_c
РКН: https://clck.ru/3QREBc
Post #1397
2.07K

- 🔥 24
- 👍 9
- ❤ 7
- 😁 1
- 🤝 1
SQ @sql_ready
Showing posts older than #1399 · Back to latest






Эта шпаргалка собирает основные псевдоколонки Oracle и показывает, как использовать их на практике: нумерация строк, доступ к физическому адресу, работа с иерархиями, определение листовых/корневых узлов, генерация UUID, отслеживание изменений по SCN и просмотр историй строк. 
a.start_at < b.end_at
AND b.start_at < a.end_at
SELECT a.id, b.id
FROM bookings a
JOIN bookings b
ON a.id < b.id
AND a.start_at < b.end_at
AND b.start_at < a.end_at;
a.id < b.id, чтобы не получить пары в обе стороны.AND a.room_id = b.room_id






CROSS JOIN и простое условие.• Генерируем все пары чисел от 0 до 6;
• Фильтруем зеркальные комбинации;
• Получаем финальный набор костяшек в правильном порядке.
FOR UPDATE.CREATE TABLE products (
id INT GENERATED ALWAYS AS IDENTITY PRIMARY KEY,
name TEXT,
price DECIMAL(10,2),
version INT DEFAULT 1 NOT NULL
);
SELECT id, name, price, version
FROM products
WHERE id = 1;
UPDATE products
SET price = 199.99,
version = version + 1
WHERE id = 1
AND version = 1;
UPDATE не затронет ни одной записи — значит, версия изменилась, и данные устарели.rows_affected = 1, и при необходимости повторить попытку или показать сообщение об ошибке.SELECT * FROM products WHERE id = 1;





• Выявляем пропущенные минуты и события;
• Находим дубликаты временных меток;
• Контролируем качество потоков и ETL прямо в запросах.