V tomto příspěvku se budeme zabývat základy příkazů SQL s krátkými a snadno srozumitelnými příklady.
Tento seznam příkazů SQL používáte s největší pravděpodobností, takže je dobře poznejte.
Každý příkaz SQL je vybaven popisem a ukázkovým fragmentem kódu.
Příkazy SQL lze seskupit do různých kategorií:
V tomto příspěvku se budeme zabývat příkazy pro DDL, DML a DQL.
První věcí, kterou musíme pro práci s SQL udělat, je vytvoření databáze. The CREATE DATABASE
prohlášení dělá přesně to.
Příklad:
CREATE DATABASE testDB
The CREATE TABLE
příkaz vytvoří novou tabulku v databázi.
Příklad:
CREATE TABLE Employees (
EmployeeID int,
FirstName varchar(255),
LastName varchar(255),
Department varchar(255) );
The INSERT INTO
příkaz vloží nové řádky dat do tabulky
Příklad:
INSERT INTO Employees (FirstName, LastName, Department) VALUES ('Sam', 'Burger', 'IT');
SELECT
je jedním z hlavních a nejpoužívanějších příkazů SQL. Vybírá data z databáze a vrací tabulku výsledků, která se nazývá výsledková sada.
Příklad:
SELECT firstName, lastName FROM Employees;
The SELECT
příkaz při použití s hvězdičkou *
operátor, vybere Všechno záznamy ze zadané tabulky.
Příklad:
SELECT * FROM Employees
SELECT DISTINCT
vrací pouze data, která jsou odlišná; tj. nezahrnuje duplicitní položky.
Příklad:
SELECT DISTINCT Department FROM Employees;
The SELECT INTO
příkaz vybere zadaná data z tabulky a zkopíruje je do jiné tabulky.
Příklad:
SELECT firstName, entryGraduated INTO StudentAlumni FROM Students;
SELECT TOP určuje maximální počet nebo procento datových záznamů, které se mají vrátit v sadě výsledků.
SELECT TOP 50 PERCENT * FROM Customers;
The WHERE
klauzule se používá k filtrování výsledků na základě zadané podmínky.
Příklad:
SELECT * FROM Employees WHERE department = 'IT';
The GROUP BY
příkaz uspořádá identická data z různých řádků do skupin, čímž vytvoří souhrnné řádky.
Příklad:
SELECT COUNT(Department), Department FROM Employees GROUP BY Department;
The HAVING
klauzule funguje stejně jako WHERE
klauzule, ale rozdíl je v tom, že HAVING
funguje pouze s agregačními funkcemi. Podobně WHERE
klauzule nefunguje s agregovanými funkcemi.
Příklad:
SELECT COUNT(Department), Department FROM Employees GROUP BY Department HAVING COUNT(Department) > 2;
The IN
operátor zahrnuje více hodnot do klauzule WHERE.
Příklad:
SELECT * FROM Employees WHERE Department IN ('IT', 'Graphics', 'Marketing');
BETWEEN
operátor filtruje výsledky a vrací pouze ty, které odpovídají zadanému rozsahu.
Příklad:
SELECT * FROM Employees WHERE JoiningDate BETWEEN '01-01-2015' AND `01-01-2020`;
The AND
a OR
jsou podmíněná tvrzení. V AND
musí všechny podmínky splňovat zadaná kritéria. V OR
jakákoli z podmínek, které splňují dané kritérium, vrátí výsledek.
Příklad AND:
SELECT * FROM Employees WHERE Department = 'IT' AND JoiningDate > '01-01-2015';
Příklad NEBO:
SELECT * FROM Employees WHERE Department ='IT' OR Department = 'Graphics';
AS
funguje jako alias. Pomocí AS
můžeme v dotazu přejmenovat sloupec na něco smysluplnějšího nebo kratšího, aniž bychom museli měnit název v databázi.
Příklad:
SELECT FirstName AS fname, LastName AS lname FROM Employees;
INNER JOIN
kombinuje řádky z různých tabulek.
Příklad:
SELECT Orders.ID, Customers.Name FROM Orders INNER JOIN Customers ON Orders.ID = Customers.ID;
LEFT JOIN
načte záznamy z levé tabulky, které odpovídají záznamům v pravé tabulce.
Příklad:
SELECT Customers.CustomerName, Orders.OrderID FROM Customers LEFT JOIN Orders ON Customers.CustomerID = Orders.CustomerID ORDER BY Customers.CustomerName;
Naproti LEFT JOIN, RIGHT JOIN
načte záznamy z pravé tabulky, které odpovídají záznamům v levé tabulce.
Příklad:
SELECT Orders.OrderID, Employees.LastName FROM Orders RIGHT JOIN Employees ON Orders.EmployeeID = Employees.EmployeeID ORDER BY Orders.OrderID;
FULL JOIN
vrátí všechny záznamy, které se shodují v levé nebo pravé tabulce.
Příklad:
SELECT Customers.Name, CustomerOrders.ID FROM Customers FULL OUTER JOIN Orders ON Customers.ID = CustomerOrders.customerID ORDER BY Customers.Name;
The DELETE
příkaz odebere z tabulky určité řádky, které splňují zadanou podmínku.
Příklad:
DELETE FROM Employees WHERE FirstName = 'Sam' AND LastName = 'Burger';
Používáme ALTER TABLE
přidat nebo odebrat sloupce z tabulky.
Příklad:
ALTER TABLE Employees ADD JoiningDate date;
TRUNCATE TABLE
odstraní položky dat z tabulky v databázi, ale zachová strukturu tabulky.
Příklad:
TRUNCATE TABLE temp_table
DROP TABLE
příkaz vymaže celou tabulku s jejími parametry sloupců a nastavením datového typu.
Příklad:
DROP TABLE temp_table
DROP DATABASE
odstraní celou zadanou databázi spolu se všemi jejími parametry a daty.
Při použití tohoto příkazu buďte velmi opatrní.
Příklad:
DROP DATABASE temp_db
Příbuzný: