SQL slapyvardžiai yra laikini stulpelių ar lentelių pavadinimai, kad užklausas būtų lengviau skaityti ir rašyti. Jie nekeičia tikrųjų pavadinimų duomenų bazėje ir egzistuoja tik tos užklausos metu.
- Padarykite ilgus ar sudėtingus pavadinimus įskaitomus
- Supaprastinkite sujungimus ir antrines užklausas
- Pagerinkite rezultatų rinkinių aiškumą
- Venkite pavadinimų konfliktų kelių lentelių užklausose
SQL yra dviejų tipų slapyvardžiai:
- Stulpelių slapyvardžiai: Laikini stulpelių pavadinimai rezultatų rinkinyje.
- Lentelės slapyvardžiai: Laikini užklausoje naudojamų lentelių pavadinimai.
SQL slapyvardžių pavyzdys
Mes naudosime šiuos dalykusCustomerlentelė, kurioje parodytos visos SQL slapyvardžių sąvokos. Šioje lentelėje pateikiama informacija apie klientą, pvz., ID pavadinimas, šalies amžius ir telefono numeris.
CREATE TABLE Customer (
CustomerID INT PRIMARY KEY
CustomerName VARCHAR(50)
LastName VARCHAR(50)
Country VARCHAR(50)
Age INT
Phone VARCHAR(15)
);
-- Inserting sample data into the Customer table
INSERT INTO Customer (CustomerID CustomerName LastName Country Age Phone)
VALUES
(1 'Shubham' 'Thakur' 'India' 23 '9876543210')
(2 'Aman' 'Chopra' 'Australia' 21 '9876543211')
(3 'Naveen' 'Tulasi' 'Sri Lanka' 24 '9876543212')
(4 'Aditya' 'Arpan' 'Austria' 21 '9876543213')
(5 'Nishant' 'Jain' 'Spain' 22 '9876543214');
Išvestis:
| Kliento ID | Kliento vardas | Pavardė | Šalis | Amžius | Telefonas |
|---|---|---|---|---|---|
| 1 | Abejoti | Thakur | Indija | 23 | 9876543210 |
| 2 | Saugus | Chopra | Australija | 21 | 9876543211 |
| 3 | Naveenas | Tulasi | Šri Lanka | 24 | 9876543212 |
| 4 | Aditya | Arpan | Austrija | 21 | 9876543213 |
| 5 | Nishant | Jain | Ispanija | 22 | 9876543214 |
1. Stulpelių slapyvardžiai
Stulpelio pseudonimas naudojamas stulpeliui pervadinti tik užklausos išvesties tikslais. Jie naudingi, kai:
- Rodomi apibendrinti duomenys
- Kad rezultatai būtų lengviau įskaitomi
- Skaičiavimų atlikimas
Sintaksė:
SELECT column_name AS alias_name
FROM table_name;
Šioje lentelėje išsamiai paaiškinami argumentai:
- stulpelio_pavadinimas: stulpelį, kuriame ketiname sukurti slapyvardžio pavadinimą.
- alias_name: laikinas pavadinimas, kurį ketiname priskirti stulpeliui arba lentelei.
- AS: Tai neprivaloma. Jei to nenurodėte, tai neturės jokios įtakos užklausos vykdymui.
1 pavyzdys: stulpelio pseudonimas stulpelio pervadinimui
Norėdami gauti kliento ID ir pervadinti jį į ID rezultatų rinkinyje
SELECT CustomerID AS id
FROM Customer;
Išvestis:
| id |
|---|
| 1 |
| 2 |
| 3 |
| 4 |
| 5 |
2. Lentelės slapyvardžiai
Lentelės pseudonimas naudojamas, kai norite suteikti lentelę laikiną pavadinimą užklausos trukmei. Lentelių slapyvardžiai yra ypač naudingi atliekant JOIN operacijas, kad būtų supaprastintos užklausos, ypač kai ta pati lentelė nurodoma kelis kartus (pavyzdžiui, atliekant savarankiškus sujungimus).
2 pavyzdys: lentelės slapyvardis, skirtas lentelių sujungimui
Norime prisijungti prie klientų lentelės su savimi, kad surastume klientus, turinčius tą pačią šalį ir kuriems yra 21 metai. Kiekvienam klientų lentelės egzemplioriui naudosime lentelės slapyvardžius.
Užklausa:
SELECT c1.CustomerName c1.Country
FROM Customer AS c1 Customer AS c2
WHERE c1.Age = c2.Age AND c1.Country = c2.Country;
Išvestis:
| Kliento vardas | Šalis |
|---|---|
| Abejoti | Indija |
| Saugus | Australija |
| Naveenas | Šri Lanka |
| Aditya | Austrija |
| Nishant | Ispanija |
Čia c1 ir c2 yra dviejų klientų lentelės egzempliorių slapyvardžiai.
Stulpelių ir lentelės slapyvardžių derinimas
Norime gauti 21 metų ar vyresnius klientus ir pervadinti stulpelius, kad būtų aiškiau. Naudosime ir lentelių, ir stulpelių slapyvardžius.
Užklausa:
paryškinimas css
SELECT c.CustomerName AS Name c.Country AS Location
FROM Customer AS c
WHERE c.Age >= 21;
Išvestis:
| Vardas | Vieta |
|---|---|
| Abejoti | Indija |
| Saugus | Australija |
| Naveenas | Šri Lanka |
| Aditya | Austrija |
| Nishant | Ispanija |
Praktinis SQL slapyvardžių naudojimas
- Geresnis skaitomumas: Padaro sudėtingus pavadinimus trumpesnius ir lengviau suprantamus.
- Supaprastina užklausas: Sumažina pasikartojimų skaičių, ypač sąnariuose.
- Išvalyti išvestį: Pervardija stulpelius, kad rezultatai būtų prasmingesni.
- Išvengia konfliktų: Neleidžia pavadinimų nesutapimų kelių lentelių užklausose.