Справочник по SQL
Основные SQL-команды и операции
Вот краткий SQL-шпаргалка с охватом основных команд и операций:
Запрос данных
Выберите конкретные столбцы:
SELECT column1, column2 FROM table_name;
Выберите все столбцы:
SELECT * FROM table_name;
Выберите уникальные значения:
SELECT DISTINCT column1, column2 FROM table_name;
Фильтрация данных:
SELECT column1, column2 FROM table_name WHERE condition;
Сортировка данных:
SELECT column1, column2 FROM table_name ORDER BY column1 [ASC|DESC];
Изменение данных
Вставка строки:
INSERT INTO table_name (column1, column2) VALUES (value1, value2);
Обновление данных:
UPDATE table_name SET column1 = value1 WHERE condition;
Удаление данных:
DELETE FROM table_name WHERE condition;
Операции с таблицами
Создание таблицы:
CREATE TABLE table_name (
column1 datatype PRIMARY KEY,
column2 datatype,
column3 datatype
);
Изменение таблицы:
ALTER TABLE table_name ADD column_name datatype;
Удаление таблицы:
DROP TABLE table_name;
Соединения
Внутреннее соединение:
SELECT * FROM table1 INNER JOIN table2 ON table1.column = table2.column;
Левое соединение:
SELECT * FROM table1 LEFT JOIN table2 ON table1.column = table2.column;
Агрегатные функции
Подсчет строк:
SELECT COUNT(*) FROM table_name;
Суммирование значений:
SELECT SUM(column_name) FROM table_name;
Среднее значение:
SELECT AVG(column_name) FROM table_name;
Группировка:
SELECT column1, COUNT(*) FROM table_name GROUP BY column1;
Подзапросы
Подзапрос в SELECT:
SELECT column1, (SELECT AVG(column2) FROM table2) AS avg_col2 FROM table1;
Подзапрос в WHERE:
SELECT * FROM table1 WHERE column1 IN (SELECT column2 FROM table2);
Представления
Создание представления:
CREATE VIEW view_name AS SELECT column1, column2 FROM table_name WHERE condition;
Удаление представления:
DROP VIEW view_name;
Эта шпаргалка охватывает наиболее часто используемые SQL-команды и операции.
Она предоставляет быстрый справочник для запросов, модификации данных, операций с таблицами, соединений, агрегатных функций, подзапросов и представлений.
Внутреннее и внешнее соединения
INNER JOIN и LEFT JOIN — это два распространенных типа операций соединения в SQL, которые различаются тем, как они объединяют данные из нескольких таблиц:
-
INNER JOIN:
- Возвращает только строки, где есть совпадение в обеих таблицах на основе условия соединения.
- Исключает любые строки, которые не имеют соответствующего совпадения в другой таблице.
- Полезно, когда вы хотите получить только данные, которые существуют в обеих таблицах.
-
LEFT JOIN (также называется LEFT OUTER JOIN):
- Возвращает все строки из левой таблицы и совпадающие строки из правой таблицы.
- Если в правой таблице нет совпадения, он все равно включает строку из левой таблицы и заполняет значения NULL для столбцов правой таблицы.
- Полезно, когда вы хотите увидеть все записи из левой таблицы, даже если они не имеют соответствующих данных в правой таблице.
Основные различия:
-
Результат:
- INNER JOIN: Возвращает только совпадающие строки.
- LEFT JOIN: Возвращает все строки из левой таблицы, плюс совпадающие строки из правой таблицы.
-
Значения NULL:
- INNER JOIN: Не создает значений NULL для несовпадающих строк.
- LEFT JOIN: Создает значения NULL для столбцов правой таблицы, когда нет совпадения.
-
Сценарии использования:
- INNER JOIN: Когда вам нужны данные, которые существуют в обеих таблицах.
- LEFT JOIN: Когда вам нужны все данные из одной таблицы и любые совпадающие данные из другой.
-
Полнота данных:
- INNER JOIN: Может исключать данные, если нет совпадений.
- LEFT JOIN: Обеспечивает включение всех данных из левой таблицы, предоставляя более полный обзор данных левой таблицы.
Понимание этих различий позволяет выбрать подходящий тип соединения в зависимости от ваших конкретных потребностей в извлечении данных и целей анализа.