TGViewer
Базы данных (Data Base) Базы данных (Data Base) @database_info · 8.05K subscribers
Post #1800 840
🔥 Шпаргалка по SQL с основными командами и примерами

1. Основные команды SQL

SELECT column1, column2 FROM table_name; -- Выборка данных
SELECT * FROM table_name; -- Выборка всех данных
INSERT INTO table_name (column1, column2) VALUES ('value1', 'value2'); -- Добавление данных
UPDATE table_name SET column1 = 'value' WHERE condition; -- Обновление данных
DELETE FROM table_name WHERE condition; -- Удаление данных


2. Фильтрация данных (WHERE, AND, OR, LIKE, IN, BETWEEN)

SELECT * FROM users WHERE age > 18; -- Возраст больше 18
SELECT * FROM users WHERE city = 'Москва' AND age > 18; -- Два условия
SELECT * FROM users WHERE name LIKE 'A%'; -- Начинается с 'A'
SELECT * FROM users WHERE age BETWEEN 18 AND 30; -- Возраст от 18 до 30
SELECT * FROM users WHERE city IN ('Москва', 'Санкт-Петербург'); -- Город Москва или Питер


3. Группировка и агрегатные функции (GROUP BY, HAVING, COUNT, SUM, AVG, MAX, MIN)

SELECT city, COUNT(*) FROM users GROUP BY city; -- Количество пользователей в каждом городе
SELECT city, AVG(age) FROM users GROUP BY city HAVING AVG(age) > 25; -- Средний возраст > 25
SELECT MAX(salary) FROM employees; -- Максимальная зарплата
SELECT SUM(sales) FROM orders WHERE date >= '2024-01-01'; -- Сумма продаж с 2024 года


4. Сортировка (ORDER BY)

SELECT * FROM users ORDER BY age ASC; -- Сортировка по возрасту (по возрастанию)
SELECT * FROM users ORDER BY age DESC; -- Сортировка по убыванию


5. Соединение таблиц (JOIN)

SELECT users.name, orders.amount
FROM users
JOIN orders ON users.id = orders.user_id; -- Внутреннее соединение

SELECT users.name, orders.amount
FROM users
LEFT JOIN orders ON users.id = orders.user_id; -- Левый JOIN (все из users)

SELECT users.name, orders.amount
FROM users
RIGHT JOIN orders ON users.id = orders.user_id; -- Правый JOIN (все из orders)


6. Создание и изменение таблиц (CREATE, ALTER, DROP)

CREATE TABLE users (
id SERIAL PRIMARY KEY,
name VARCHAR(100),
age INT
); -- Создание таблицы

ALTER TABLE users ADD COLUMN email VARCHAR(100); -- Добавление колонки
ALTER TABLE users DROP COLUMN email; -- Удаление колонки
DROP TABLE users; -- Удаление таблицы


7. Работа с индексами (INDEX)

CREATE INDEX idx_users_name ON users(name); -- Создание индекса
DROP INDEX idx_users_name; -- Удаление индекса


8. Ограничения (PRIMARY KEY, FOREIGN KEY, UNIQUE, CHECK, DEFAULT)

CREATE TABLE orders (
id SERIAL PRIMARY KEY,
user_id INT REFERENCES users(id), -- Внешний ключ
amount DECIMAL(10,2) CHECK (amount > 0), -- Ограничение CHECK
created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP -- Значение по умолчанию
);


9. Подзапросы (SUBQUERY)

SELECT * FROM users WHERE id IN (SELECT user_id FROM orders WHERE amount > 1000);


10. Транзакции (BEGIN, COMMIT, ROLLBACK)

BEGIN;
UPDATE accounts SET balance = balance - 100 WHERE id = 1;
UPDATE accounts SET balance = balance + 100 WHERE id = 2;
COMMIT; -- Завершение транзакции
ROLLBACK; -- Откат изменений


📲Мы в MAX

#db

👉 @database_info
  • 👍 2
  • 🔥 2
More from @database_info
  1. Sep 24, 2026Сегодня я хочу рассказать вам про одну часто недооцененную фишку в PostgreSQL - partial in…
  2. Sep 23, 2026🚀 Сегодня я покажу вам один из моих любимых хаков для PostgreSQL – генерация серий дат бе…
  3. Sep 22, 2026⚡️ Совет по работе с базами данных 💡 Уникальные индексы с исключением определенных строк…
  4. Sep 21, 2026Как быстро найти “тяжёлые” запросы в PostgreSQL Сегодня покажу простой способ найти самые…
  5. Sep 20, 2026🚀 Сегодня покажу, как быстро диагностировать «тормоза» в PostgreSQL - без всяких внешних…
  6. Sep 18, 2026🧩 Как сделать backup PostgreSQL с минимальной нагрузкой на прод? Сегодня покажу один из с…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →