Ce face AS (alias)
AS redenumește o coloană în rezultat, fără să schimbe tabelul. Este util mai ales pentru coloanele calculate, care altfel ar avea ca nume toată expresia.
Și tabelele pot primi alias-uri scurte, de exemplu produse AS p. În interogările cu JOIN, alias-urile fac codul mult mai ușor de citit. Cuvântul AS este opțional, dar îl recomandăm pentru claritate.
Un alias cu spații sau diacritice se scrie între backtick-uri: AS `Valoare stoc`.
Exemple
Exemplele de pe această pagină pornesc de la datele de mai jos. Rulează mai întâi acest cod, apoi exemplul.
CREATE TABLE produse (
id INT PRIMARY KEY,
nume VARCHAR(50) NOT NULL,
categorie VARCHAR(30),
pret INT,
stoc INT
);
INSERT INTO produse VALUES
(1, 'Laptop', 'Electronice', 3500, 4),
(2, 'Mouse', 'Electronice', 80, 25),
(3, 'Birou', 'Mobilier', 900, 0),
(4, 'Scaun', 'Mobilier', 650, 7),
(5, 'Monitor', 'Electronice', 1200, 3);
Exemplul 1: Nume clare pentru coloane calculate
SELECT nume AS produs, pret * stoc AS valoare_stoc
FROM produse
ORDER BY valoare_stoc DESC;
Rezultat
+---------+--------------+
| produs | valoare_stoc |
+---------+--------------+
| Laptop | 14000 |
| Scaun | 4550 |
| Monitor | 3600 |
| Mouse | 2000 |
| Birou | 0 |
+---------+--------------+
Exemplul 2: Alias pentru tabel și alias cu spații
SELECT p.nume, p.pret AS `Preț (lei)`
FROM produse AS p
WHERE p.categorie = 'Mobilier';
Rezultat
+-------+-------------+
| nume | Preț (lei) |
+-------+-------------+
| Birou | 900 |
| Scaun | 650 |
+-------+-------------+
Greșeli frecvente
- Folosești aliasul unei coloane în
WHERE:WHERE valoare_stoc > 1000dă eroareaUnknown column. Repetă expresia sau foloseșteHAVING. - Pui aliasul cu spații între apostrofuri. Merge în
SELECT, dar înORDER BYeste citit ca text simplu și rândurile nu sunt ordonate. Folosește backtick-uri.
Comenzi înrudite
SELECT: Citește date dintr-un tabel. Este comanda SQL folosită cel mai des.INNER JOIN: Combină rândurile din două tabele care au o valoare comună, de exemplu comenzile cu clienții lor.ORDER BY: Ordonează rezultatele crescător (ASC) sau descrescător (DESC) după una sau mai multe coloane.