SQL ATŠĶIRĪGI klauzula tiek izmantota, lai noņemtu kolonnu dublikātus no rezultātu kopas.
Orākulu tabulas izveide
Atšķirīgais atslēgvārds tiek izmantots kopā ar atlasīto atslēgvārdu. Tas ir noderīgi, ja mēs izvairāmies no dublētām vērtībām konkrētajā kolonnas/tabulas . The unikālas vērtības tiek iegūti, kad mēs izmantojam atšķirīgu atslēgvārdu.
- SELECT DISTINCT atgriež tikai atšķirīgu ( savādāk ) vērtības.
- DISTINCT novērš ierakstu dublikātus no tabulas.
- DISTINCT var izmantot ar pildvielām: COUNT, AVG, MAX utt.
- DISTINCT darbojas vienā kolonnā.
- DISTINCT netiek atbalstītas vairākas kolonnas.
Sintakse:
SELECT DISTINCT expressions FROM tables [WHERE conditions];
Parametri:
Izteicieni: Kolonnas vai aprēķinus, kurus vēlamies izgūt, sauc par izteiksmi.
Tabulas: Tabulas, kuru ierakstus vēlamies izgūt. Klauzulā FROM ir tikai viena tabula.
KUR nosacījumi: Nosacījumi var atbilst atlasītajiem ierakstiem, un tas nav obligāti.
Piezīme:
- Ja tiek nodrošināta viena izteiksme ATŠĶIRĪGI klauzulu, tad vaicājums atgriezīs izteiksmju unikālās vērtības.
- Vaicājums izgūs uzskaitīto izteiksmju unikālās kombinācijas, ja laukā ir norādīta vairāk nekā viena izteiksme ATŠĶIRĪGI klauzula šeit.
- SQL valodā ATŠĶIRĪGI klauzula nevar ignorēt NULL vērtības. Tātad, ja mēs izmantojam DISTINCT klauzulu SQL priekšrakstā, mūsu rezultātu kopā tiks iekļauta NULL kā atsevišķa vērtība.
Piemērs:
Apsveriet tālāk minēto DARBINIEKI tabula.
Vispirms ļaujiet mums redzēt, ka šāds SELECT vaicājums atgriež algu ierakstu dublikātus.
SQL> SELECT SALARY FROM EMPLOYEES ORDER BY SALARY;
Kad mēs izpildām iepriekš minēto SQL vaicājumu, tas ienes visus ierakstus, tostarp ierakstu dublikātus. Iepriekš minētajā tabulā Ņūtona un Džonsona alga ir vienāda 20 000.
Tagad izmantosim ATŠĶIRĪGI atslēgvārds ar iepriekš minēto SELECT vaicājumu.
SQL> SELECT DISTINCT SALARY FROM EMPLOYEES ORDER BY SALARY;
Iepriekš minētais SQL vaicājums noņem ierakstu dublikātus un parāda šādu rezultātu.
Piemērs: unikālu vērtību atrašana kolonnā
Apskatiet klauzulu DISTINCT, lai atrastu unikālās vērtības vienā tabulas kolonnā.
Mums ir galds ar nosaukumu Piegādātāji ar šādiem datiem:
No iepriekšējās tabulas mēs atradīsim unikālos stāvokļus.
SELECT DISTINCT state FROM suppliers ORDER BY state;
Šie ir seši ieraksti.
Piemērs atgriež unikālo Valsts no piegādātāju tabulu un noņem dublikātus no rezultātu kopas.
Piemērs: unikālu vērtību atrašana vairākās kolonnās
The SQL ATŠĶIRĪBA klauzula tiek izmantota, lai noņemtu ierakstu dublikātus no daudziem priekšraksta SELECT laukiem.
Ievadiet SQL priekšraksts :
SELECT DISTINCT city, state FROM suppliers ORDER BY city, state;
Izvade:
Šie ir 8 ieraksti:
Piemērā katrs ir unikāls pilsēta un valsts kombinācija. Mēs redzam Redvudas pilsēta un Kalifornija , parādās rezultātu kopā.
Piemērs: DISTINCT klauzula apstrādā NULL vērtības
DISTINCT klauzula uzskata NULL unikālajai vērtībai SQL . Mums ir galds ar nosaukumu produktiem kas satur tālāk norādītos datus.
'eulera numurs java'
Atlasiet unikālās vērtības laukā fruit_id, kurā ir nulles vērtība. Ievadiet tālāk norādīto SQL sintakse:
SELECT DISTINCT fruit_id FROM fruits ORDER BY category_id;
Ir atlasīti četri ieraksti. Šie ir rezultāti, kurus mēs redzam zemāk:
Iepriekš minētajā piemērā vaicājums atgriež unikālās vērtības, kas atrodas kategorijas_id kolonna. Mēs redzam rezultātu kopas pirmajā rindā, NULL ir ārkārtēja vērtība, ko atgriež ATŠĶIRĪGI klauzula.