En aquest post, tractarem els conceptes bàsics de les ordres SQL amb exemples breus i fàcils d’entendre.
Aquesta llista d’ordres SQL és la que més probablement utilitzeu, així que coneixeu-les força bé.
Cada ordre SQL inclou una descripció i un fragment de codi d'exemple.
Les sentències SQL es poden agrupar en diferents categories:
En aquest post, tractarem les ordres de DDL, DML i DQL.
El primer que hem de fer per treballar amb SQL és crear una base de dades. El CREATE DATABASE
afirmació fa exactament això.
Exemple:
CREATE DATABASE testDB
El CREATE TABLE
sentència crea una taula nova en una base de dades.
Exemple:
CREATE TABLE Employees (
EmployeeID int,
FirstName varchar(255),
LastName varchar(255),
Department varchar(255) );
El INSERT INTO
instrucció insereix noves files de dades en una taula
Exemple:
INSERT INTO Employees (FirstName, LastName, Department) VALUES ('Sam', 'Burger', 'IT');
SELECT
és un dels comandaments SQL principals i més utilitzats. Selecciona les dades d’una base de dades i retorna la taula de resultats, anomenada conjunt de resultats.
Exemple:
SELECT firstName, lastName FROM Employees;
El SELECT
comanda quan s'utilitza amb un asterisc *
operador, selecciona tot registres d'una taula especificada.
Exemple:
SELECT * FROM Employees
SELECT DISTINCT
només retorna les dades que són diferents; és a dir, no inclou entrades duplicades.
Exemple:
SELECT DISTINCT Department FROM Employees;
El SELECT INTO
La sentència selecciona les dades especificades d'una taula i les copia a una altra taula.
Exemple:
SELECT firstName, entryGraduated INTO StudentAlumni FROM Students;
SELECT TOP especifica el nombre màxim o percentatge d’entrades de dades que es retornaran en un conjunt de resultats.
SELECT TOP 50 PERCENT * FROM Customers;
El WHERE
La clàusula s'utilitza per filtrar els resultats en funció d'una condició especificada.
Exemple:
SELECT * FROM Employees WHERE department = 'IT';
El GROUP BY
L'ordre ordena les dades idèntiques de diferents files en grups, creant així un resum de files.
Exemple:
SELECT COUNT(Department), Department FROM Employees GROUP BY Department;
El HAVING
la clàusula funciona igual que la WHERE
, però la diferència és que HAVING
només funciona amb funcions agregades. De la mateixa manera, WHERE
clàusula no funciona amb funcions agregades.
Exemple:
SELECT COUNT(Department), Department FROM Employees GROUP BY Department HAVING COUNT(Department) > 2;
El IN
L'operador inclou diversos valors a la clàusula WHERE.
Exemple:
SELECT * FROM Employees WHERE Department IN ('IT', 'Graphics', 'Marketing');
BETWEEN
L'operador filtra els resultats i només retorna els que s'ajusten a l'interval especificat.
Exemple:
SELECT * FROM Employees WHERE JoiningDate BETWEEN '01-01-2015' AND `01-01-2020`;
El AND
i OR
són afirmacions condicionals. A AND
, totes les condicions han de complir uns criteris especificats. A OR
qualsevol de les condicions que compleixen un determinat criteri retorna un resultat.
Exemple I:
SELECT * FROM Employees WHERE Department = 'IT' AND JoiningDate > '01-01-2015';
Exemple OR:
SELECT * FROM Employees WHERE Department ='IT' OR Department = 'Graphics';
AS
funciona com a àlies. Amb AS
, podem canviar el nom d'una columna a alguna cosa més significativa o més curta a la consulta, sense haver de canviar el nom de la base de dades.
Exemple:
SELECT FirstName AS fname, LastName AS lname FROM Employees;
INNER JOIN
combina files de diferents taules.
Exemple:
SELECT Orders.ID, Customers.Name FROM Orders INNER JOIN Customers ON Orders.ID = Customers.ID;
LEFT JOIN
recupera els registres de la taula esquerra que coincideixen amb els registres de la taula dreta.
Exemple:
SELECT Customers.CustomerName, Orders.OrderID FROM Customers LEFT JOIN Orders ON Customers.CustomerID = Orders.CustomerID ORDER BY Customers.CustomerName;
Enfront de la JUNTA ESQUERRA, el RIGHT JOIN
recupera els registres de la taula dreta que coincideixen amb els registres de la taula esquerra.
Exemple:
SELECT Orders.OrderID, Employees.LastName FROM Orders RIGHT JOIN Employees ON Orders.EmployeeID = Employees.EmployeeID ORDER BY Orders.OrderID;
FULL JOIN
retorna tots els registres que coincideixen a les taules esquerra o dreta.
Exemple:
SELECT Customers.Name, CustomerOrders.ID FROM Customers FULL OUTER JOIN Orders ON Customers.ID = CustomerOrders.customerID ORDER BY Customers.Name;
El DELETE
La sentència elimina certes files de la taula que compleixen una condició especificada.
Exemple:
DELETE FROM Employees WHERE FirstName = 'Sam' AND LastName = 'Burger';
Utilitzem ALTER TABLE
per afegir o eliminar columnes d'una taula.
Exemple:
ALTER TABLE Employees ADD JoiningDate date;
TRUNCATE TABLE
elimina les entrades de dades d'una taula d'una base de dades, però manté l'estructura de la taula.
Exemple:
TRUNCATE TABLE temp_table
DROP TABLE
sentència suprimeix tota la taula amb els paràmetres de la columna i la configuració del tipus de dades.
Exemple:
DROP TABLE temp_table
DROP DATABASE
suprimeix tota la base de dades especificada juntament amb tots els seus paràmetres i dades.
Tingueu molta precaució quan utilitzeu aquesta ordre.
Exemple:
DROP DATABASE temp_db
Relacionat: