У гэтым пасце мы разгледзім асновы каманд SQL на кароткіх і зразумелых прыкладах.
Гэты спіс каманд SQL, якія вы, хутчэй за ўсё, будзеце выкарыстоўваць, так што знаёмцеся з імі даволі добра.
Кожная каманда SQL забяспечваецца апісаннем і прыкладам фрагмента кода.
Заявы SQL можна згрупаваць у розныя катэгорыі:
У гэтым пасце мы разгледзім каманды для DDL, DML і DQL.
Першае, што нам трэба зрабіць для працы з SQL, - гэта стварыць базу дадзеных. CREATE DATABASE
заява робіць менавіта гэта.
Прыклад:
CREATE DATABASE testDB
CREATE TABLE
заява стварае новую табліцу ў базе дадзеных.
Прыклад:
CREATE TABLE Employees (
EmployeeID int,
FirstName varchar(255),
LastName varchar(255),
Department varchar(255) );
INSERT INTO
заява ўстаўляе новыя радкі дадзеных у табліцу
Прыклад:
INSERT INTO Employees (FirstName, LastName, Department) VALUES ('Sam', 'Burger', 'IT');
SELECT
з'яўляецца адной з асноўных і найбольш часта выкарыстоўваюцца каманд SQL. Ён выбірае дадзеныя з базы дадзеных і вяртае табліцу вынікаў, званую наборам вынікаў.
Прыклад:
SELECT firstName, lastName FROM Employees;
SELECT
каманда пры выкарыстанні са зорачкай *
аператар, выбірае усе запісы з указанай табліцы.
Прыклад:
SELECT * FROM Employees
SELECT DISTINCT
вяртае толькі дадзеныя, якія адрозніваюцца; гэта значыць не ўключае дублікаты запісаў.
Прыклад:
SELECT DISTINCT Department FROM Employees;
SELECT INTO
аператар выбірае зададзеныя дадзеныя з табліцы і капіюе іх у іншую табліцу.
Прыклад:
SELECT firstName, entryGraduated INTO StudentAlumni FROM Students;
SELECT TOP вызначае максімальную колькасць альбо працэнт запісаў дадзеных, якія трэба вярнуць у наборы вынікаў.
SELECT TOP 50 PERCENT * FROM Customers;
WHERE
Умова выкарыстоўваецца для фільтрацыі вынікаў на аснове зададзенай умовы.
Прыклад:
SELECT * FROM Employees WHERE department = 'IT';
GROUP BY
каманда размяшчае аднолькавыя дадзеныя з розных радкоў па групах, ствараючы, такім чынам, абагульняючыя радкі.
Прыклад:
SELECT COUNT(Department), Department FROM Employees GROUP BY Department;
HAVING
пункт выконвае тое самае, што і WHERE
, але розніца ў тым, што HAVING
працуе толькі з сукупнымі функцыямі. Сапраўды гэтак жа, WHERE
пункт не працуе з сукупнымі функцыямі.
Прыклад:
SELECT COUNT(Department), Department FROM Employees GROUP BY Department HAVING COUNT(Department) > 2;
IN
аператар уключае некалькі значэнняў у пункт WHERE.
Прыклад:
SELECT * FROM Employees WHERE Department IN ('IT', 'Graphics', 'Marketing');
BETWEEN
аператар фільтруе вынікі і вяртае толькі тыя, якія адпавядаюць зададзенаму дыяпазону.
Прыклад:
SELECT * FROM Employees WHERE JoiningDate BETWEEN '01-01-2015' AND `01-01-2020`;
AND
і OR
- умоўныя выказванні. У AND
усе ўмовы павінны адпавядаць зададзеным крытэрам. У OR
любая з умоў, якія задавальняюць зададзеным крытэрам, вяртае вынік.
Прыклад І:
SELECT * FROM Employees WHERE Department = 'IT' AND JoiningDate > '01-01-2015';
Прыклад АБО:
SELECT * FROM Employees WHERE Department ='IT' OR Department = 'Graphics';
AS
працуе як псеўданім. З дапамогай AS
мы можам перайменаваць слупок у штосьці больш значнае ці карацейшае ў запыце, не мяняючы імя ў базе дадзеных.
Прыклад:
SELECT FirstName AS fname, LastName AS lname FROM Employees;
INNER JOIN
аб'ядноўвае радкі з розных табліц.
Прыклад:
SELECT Orders.ID, Customers.Name FROM Orders INNER JOIN Customers ON Orders.ID = Customers.ID;
LEFT JOIN
атрымлівае запісы з левай табліцы, якія супадаюць з запісамі ў правай табліцы.
Прыклад:
SELECT Customers.CustomerName, Orders.OrderID FROM Customers LEFT JOIN Orders ON Customers.CustomerID = Orders.CustomerID ORDER BY Customers.CustomerName;
Насупраць ЛЕВАГА ДАЛУЧЭННЯ, RIGHT JOIN
атрымлівае запісы з правай табліцы, якія супадаюць з запісамі ў левай табліцы.
Прыклад:
SELECT Orders.OrderID, Employees.LastName FROM Orders RIGHT JOIN Employees ON Orders.EmployeeID = Employees.EmployeeID ORDER BY Orders.OrderID;
FULL JOIN
вяртае ўсе запісы, якія супадаюць альбо ў левай, альбо ў правай табліцах.
Прыклад:
SELECT Customers.Name, CustomerOrders.ID FROM Customers FULL OUTER JOIN Orders ON Customers.ID = CustomerOrders.customerID ORDER BY Customers.Name;
DELETE
аператар выдаляе з табліцы пэўныя радкі, якія адпавядаюць зададзенай умове.
Прыклад:
DELETE FROM Employees WHERE FirstName = 'Sam' AND LastName = 'Burger';
Мы выкарыстоўваем ALTER TABLE
каб дадаць ці выдаліць слупкі з табліцы.
Прыклад:
ALTER TABLE Employees ADD JoiningDate date;
TRUNCATE TABLE
выдаляе запісы дадзеных з табліцы ў базе дадзеных, але захоўвае структуру табліцы.
Прыклад:
TRUNCATE TABLE temp_table
DROP TABLE
аператар выдаляе ўсю табліцу з параметрамі слупкоў і наладамі тыпу дадзеных.
Прыклад:
DROP TABLE temp_table
DROP DATABASE
выдаляе ўсю ўказаную базу дадзеных разам з усімі яе параметрамі і дадзенымі.
Будзьце вельмі асцярожныя пры выкарыстанні гэтай каманды.
Прыклад:
DROP DATABASE temp_db
Звязаныя: