SQL
Памятка по SQL: все команды, которые вы должны знать в 2022 году
Просто скопируйте и вставьте код и измените его в соответствии с вашими требованиями!
Нужен краткий справочник — воспользуйтесь этой шпаргалкой! 🔋
Язык структурированных запросов — SQL — один из наиболее широко используемых языков для доступа к данным, хранящимся в базе данных, а также для целей анализа данных.
Сегодня я даю вам шпаргалку, которая включает в себя наиболее распространенные и широко используемые команды SQL, которые вам когда-нибудь понадобятся.
В отличие от многих других шпаргалок в Google, эта дает вам более легкий доступ к синтаксису. Все, что вам нужно сделать, это просто скопировать и вставить код из этой статьи и изменить его в соответствии с вашим использованием.
Чтобы быстро найти нужный оператор SQL, вы можете использовать этот указатель.
· Querying Data From Table ∘ Query data in columns column_1, column_2 from a table table_1 ∘ Query all rows and columns from a table table_1 ∘ Query data and filter rows with a condition ∘ Query distinct rows from a table ∘ Sort the result set in ascending or descending order ∘ Skip offset of rows and return the next n rows ∘ Group rows using an aggregate function ∘ Filter groups using HAVING clause · Querying From Multiple Tables ∘ Inner join tables: table_1 and table_2 ∘ Left join tables: table_1 and table_2 ∘ Right join tables: table_1 and table_2 ∘ Perform full outer join ∘ Produce a Cartesian product of rows in tables ∘ Produce a Cartesian product of rows in tables without cross join ∘ Join table to itself using INNER JOIN clause · Using SQL Operators ∘ Combine rows from two queries ∘ Return the intersection of two queries ∘ Subtract a result set from another result set ∘ Query rows using pattern matching %, _ ∘ Query rows in a list ∘ Query rows between two values: low and hight ∘ Check if values in a table is NULL or not · Managing tables ∘ Create a new table with three columns: column_1, column_2, column_3 ∘ Delete the table from the database ∘ Add a new column — column_1 — to the table ∘ Drop column — column_1 — from the table ∘ Add a constraint ∘ Drop a constraint ∘ Rename a table from table_1 to table_2 ∘ Rename column column_1 to column_2 ∘ Remove all data in a table · Using SQL constraints ∘ Set column_1 and column_2 as a primary key ∘ Set column — column_2 — as a foreign key ∘ Ensure column_1 > 0 and values in column_1 >= column_2 ∘ Set values in column — column_2 — not NULL · Modifying Data ∘ Insert one row into a table ∘ Insert multiple rows into a table ∘ Insert rows from table_2 into table_1 ∘ Update new value in the column — column_1 — for all rows ∘ Update values in the columns column_1, column_2 that match the condition ∘ Delete all data in a table ∘ Delete subset of rows in a table · Managing Views ∘ Create a new view that consists of column_1 and column_2 ∘ Create a new view with check option ∘ Create a recursive view ∘ Create a temporary view ∘ Delete a view
Не теряя много времени, приступим. 🚀
Запрос данных из таблицы ✔️
Эти блоки кода используются для доступа к данным из одной таблицы. Конечно, у него есть оператор SELECT и FROM, но наряду с этим есть несколько вариантов использования, как вы можете видеть ниже.
Запрос данных в столбцах column_1, column_2 из таблицы table_1
SELECT column_1, column2
FROM table_1;
Запросить все строки и столбцы из таблицы table_1
SELECT *
FROM table_1;
Запрос данных и фильтрация строк с условием
SELECT column_1, column2
FROM table_1
WHERE condition;
Запрос отдельных строк из таблицы
SELECT DISTINCT column_1
FROM table_1
WHERE condition;
Сортировать набор результатов в порядке возрастания или убывания
SELECT column_1, column2
FROM table_1
ORDER BY column_1 DESC;
-- The default order is ascending, the keyword DESC in ORDER BY stands for descending
Пропустить смещение строк и вернуть следующие n строк
SELECT column_1, column2
FROM table_1
ORDER BY column1
LIMIT n OFFSET offset;
Группировать строки с помощью агрегатной функции
SELECT column_1, aggregate(column_2)
FROM table_1
GROUP BY column_1;
Фильтрация групп с использованием предложения HAVING
SELECT column_1, aggregate(column_2)
FROM table_1
GROUP BY column_1;
HAVING condition;
Запрос из нескольких таблиц ✔️
Эти запросы используются для извлечения данных из нескольких таблиц путем их объединения. Следовательно, эти запросы включают соединения, как указано ниже,
Таблицы внутреннего соединения: table_1 и table_2
SELECT column_1, column2
FROM table_1
INNER JOIN table_2 ON condition;
Левые объединенные таблицы: table_1 и table_2
SELECT column_1, column2
FROM table_1
LEFT JOIN table_2 ON condition;
Таблицы соединения справа: table_1 и table_2
SELECT column_1, column2
FROM table_1
RIGHT JOIN table_2 ON condition;
Выполнить полное внешнее соединение
SELECT column_1, column2
FROM table_1
FULL OUTER JOIN table_2 ON condition;
Произвести декартово произведение строк в таблицах
SELECT column_1, column2
FROM table_1
CROSS JOIN table_2;
Произведите декартово произведение строк в таблицах без перекрестного соединения
SELECT column_1, column2
FROM table_1, table_2;
Присоединить таблицу к самой себе, используя предложение INNER JOIN
SELECT column_1, column2
FROM table_1 A
INNER JOIN table_1 B ON condition;
Использование операторов SQL ✔️
Эти запросы используют математические и логические операторы для извлечения данных на основе условия, как показано ниже.
Объединить строки из двух запросов
SELECT column_1, column2 FROM table_1
UNION ALL
SELECT column_1, column2 FROM table_2
Вернуть пересечение двух запросов
SELECT column_1, column2 FROM table_1
INTERSECT
SELECT column_1, column2 FROM table_2
Вычесть набор результатов из другого набора результатов
SELECT column_1, column2 FROM table_1
MINUS
SELECT column_1, column2 FROM table_2
Запросить строки, используя сопоставление с образцом %, _
SELECT column_1, column2
FROM table_1
WHERE c1 LIKE pattern;
-- LIKE: Case-sensitive search for a pattern with a wildcard operator (%)
-- NOT LIKE: Returns the rows which are not matching with Case-sensitive pattern
Строки запроса в списке
SELECT column_1, column2
FROM table_1
WHERE column_1 IN value_list;
-- IN: Returns the rows when Column_1 value present in value_list
-- IN: Returns the rows when Column_1 value not present in value_list
Строки запроса между двумя значениями: low и high
SELECT column_1, column2
FROM table_1
WHERE column_1 BETWEEN low AND high;
Проверьте, являются ли значения в таблице NULL или нет
SELECT column_1, column2
FROM table_1
WHERE column_1 IS NULL;
-- NULL: Returns the rows when Column_1 value is NULL
-- NOT NULL: Returns the rows when Column_1 value is not NULL
Управление столами ✔️
Эти запросы используются для выполнения операций по управлению таблицами, таких как создание, обновление, удаление и многое другое, как показано ниже.
Создайте новую таблицу с тремя столбцами: столбец_1, столбец_2, столбец_3.
CREATE TABLE table_1 (
column_1 INT PRIMARY KEY,
column_2 VARCHAR NOT NULL,
column_3 INT DEFAULT 0
);
Удалить таблицу из базы
DROP TABLE table_1 ;
Добавьте новый столбец — column_1 — в таблицу
ALTER TABLE table_1 ADD column_1;
Удалить столбец — column_1 — из таблицы
ALTER TABLE table_1 DROP COLUMN column_1 ;
Добавить ограничение
ALTER TABLE table_1 ADD constraint;
Удалить ограничение
ALTER TABLE table_1 DROP constraint;
Переименовать таблицу с table_1 на table_2
ALTER TABLE table_1 RENAME TO table_2;
Переименуйте столбец column_1 в column_2.
ALTER TABLE table_1 RENAME column_1 TO column_2;
Удалить все данные в таблице
TRUNCATE TABLE table_1;
Использование ограничений SQL ✔️
Эти запросы используются для указания правил для данных в таблице. Ограничения ограничивают тип данных, которые могут быть помещены в таблицу. Это обеспечивает точность и достоверность данных в таблице. Это включает в себя заявления, как показано ниже,
Установите column_1 и column_2 в качестве первичного ключа
CREATE TABLE table_1(
column_1 INT, column_2 INT, column_3 VARCHAR,
PRIMARY KEY (column_1,column_2)
);
Установить столбец — column_2 — в качестве внешнего ключа
CREATE TABLE table_1(
column_1 INT PRIMARY KEY,
column_2 INT,
FOREIGN KEY (column_2) REFERENCES table_2(column_2)
);
Убедитесь, что column_1
› 0 и значения в column_1
›= column_2
CREATE TABLE t(
column_1 INT, column_2 INT,
CHECK(column_1> 0 AND column_1 >= column_2)
);
Установить значения в столбце — column_2 — не NULL
CREATE TABLE t(
column_1 INT PRIMARY KEY,
column_2 VARCHAR NOT NULL
);
Изменение данных ✔️
Эти запросы используются для работы с уже существующими таблицами. Сюда входят такие операции, как вставка, изменение и удаление значений, как показано ниже.
Вставить одну строку в таблицу
INSERT INTO table_1(column_list)
VALUES(value_list);
Вставка нескольких строк в таблицу
INSERT INTO table_1(column_list)
VALUES (value_list),
(value_list), …;
Вставить строки из table_2 в table_1
INSERT INTO table_1(column_list)
SELECT column_list
FROM table_2;
Обновить новое значение в столбце — column_1 — для всех строк
UPDATE table_1
SET column_1 = new_value;
Обновить значения в столбцах column_1
, column_2
, соответствующие условию
UPDATE table_1
SET column_1 = new_value,
column_2 = new_value
WHERE condition;
Удалить все данные в таблице
DELETE FROM table_1;
Удалить подмножество строк в таблице
DELETE FROM table_1
WHERE condition;
Управление представлениями ✔️
VIEW в SQL Server похож на виртуальную таблицу, которая содержит данные из одной или нескольких таблиц. Он не содержит никаких данных и физически не существует в базе данных. Эти запросы используются для выполнения операций по управлению представлениями, как показано ниже.
Создайте новый вид, состоящий из column_1
и column_2
CREATE VIEW view_1(column_1,column_2)
AS
SELECT column_1, column_2
FROM table_1;
Создайте новое представление с опцией проверки
CREATE VIEW view_1(column_1,column_2)
AS
SELECT column_1, column_2
FROM table_1;
WITH [CASCADED | LOCAL] CHECK OPTION;
Создать рекурсивное представление
CREATE RECURSIVE VIEW view_1
AS
select-statement -- anchor part
UNION ALL
select-statement; -- recursive part
Создать временное представление
CREATE TEMPORARY VIEW view_1
AS
SELECT column_1, column_2
FROM table_1;
Удалить вид
DROP VIEW view_name;
Это краткая справочная шпаргалка. Я надеюсь, что вы найдете его освежающим и полезным. Он содержит все часто используемые команды SQL. Дайте мне знать, если я что-то забуду.
Вы можете изучить материалы Medium, Став участником Medium. Поверьте мне, вы можете получить неограниченный доступ к новостям и ежедневным интересным дайджестам Medium. Конечно, небольшая часть ваших гонораров поступает мне в качестве поддержки. 🙂
Не забудьте Подписаться на мою рассылку, чтобы получать первые копии моих статей.
Спасибо, что прочитали!
Дополнительные материалы на PlainEnglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter и LinkedIn. Посетите наш Community Discord и присоединитесь к нашему Коллективу талантов.