Siden fan data mei SQL-ferwizings: Ynlieding fan 'e SELEKT-fertsjintwurdiging

De Struktureare Query-taal biedt database-brûkers in krêftige en fleksibele data retrievaasjemechanisme - de SELECT-opjefte. Yn dit artikel sjogge wy de algemiene foarm fan 'e SELECT-opjefte en sille inkele probleem-database-query tegearre gearwurkje. As dit jo jo foarkommen yn 'e wrâld fan' e Struktureare Query-taal, dan kinne jo it artikel SQL Fundamentals besjen foardat jo trochgean.

As jo ​​op 'e nij sykje om in nije databank te meitsjen fan' e krat, moat it artikel Databases en tabellen yn SQL meitsje moatte in goeie jumping-off punt.

No, dat jo op 'e basis basearre binne, litte wy ús ûndersykje fan' e SELECT-oanfetting. As mei foarige SQL- lessen, sille wy trochgean mei gebrûk fan oanfragen dy't oerienkomme mei de ANSI SQL-standert. Jo kinne graach de dokumintaasje kontrolearje foar jo DBMS om te bepalen hoe't it in avansearre opsjes stipet dy't de effektiviteit en / of effektiviteit fan jo SQL-koade fersterkje kin.

De algemiene foarm fan 'e ferklearring fan' e SELEKT

De algemiene foarm fan de ferklearring SELECT ferskynt ûnder:

SELECT select_list
FROM boarne
Wêrfoar betingst (s)
GROUP BY útdrukking
HAVING- betingst
ORDER BY ekspresje

De earste line fan de ferklearring fertelt de SQLprosessor dat dit kommando in SELECT- statement is en dat wy wolle wolle ynformaasje út in database sjen litte. De select_list lit ús it type soarte ynformaasje opjaan, dat wy wolle ûntfange.

De FROM- klausel yn 'e twadde line rjochtet de spesifike databank tabel (en) en de WHERE- klausel jout ús de mooglikheid om de resultaten te begripen op dizze akten dy't de spesifike betingsten foldwaan. De einige trije klauses fertsjinje opmerklike funksjes bûten it gebiet fan dit artikel - wy sille se yn 'e takomstige SQL-artikels ûntdekke.

De maklikste manier om SQL te learen is bygelyks. Mei dat op 't paad litte wy begjinne op wat fragen fan database. Yn 't dit artikel sille wy de tafel fan' e meiwurkers brûke fan 'e persoanlike database fan' e database fan 'e XYZ Corporation om alle fan ús queries yllustrearje. Hjir is it hiele tafel:

EmployeeID

Achternamme

Foarnamme

Salaris

ReportsTo

1

Smith

Johannes

32000

2

2

Scampi

Sue

45000

NULL

3

Kendall

Tom

29500

2

4 Jones Abraham 35000 2
5 Allen Bill 17250 4
6 Reynolds Allison 19500 4
7 Johnson Katie 21000 3

Besparje in Entire Tafel

De direkteur fan Human Resources fan XYZ Corporation kriget in moanne rapport dy't salaris en rapportaazje foar elke bedriuw wurket. De generaasje fan dit rapport is in foarbyld fan de ienfâldige foarm fan SELECT-ferklearring. It falt gewoan allinich de ynformaasje dy't yn in databank tabel is - elke kolom en eltse rige. Hjir is de query dy't dit resultaat makket:

ÚTKIEZE *
FROM meiwurkers

Hast direkt, oars? De asterisk (*) ferskynt yn 'e select_list is in wiskkaart dy't brûkt wurdt om de databank te ynformearjen dat wy ynformaasje oer elke kolommen yn it tabel fan' e meiwurkers identifisearje wolle dy't yn 'e FROM-klausel identifisearre binne. Wy woe alle ynformaasje yn 'e databank ôfhelje, sadat it net nedich wie om in WHERE-klausel te brûken om de rigen te selektearjen fan' e tafel.

Hjir is wat ús resultaten fan 'e query look like:

EmployeeID Achternamme Foarnamme Salaris ReportsTo
---------- -------- --------- ------ ---------
1 Smith Johannes 32000 2
2 Scampi Sue 45000 NULL
3 Kendall Tom 29500 2
4 Jones Abraham 35000 2
5 Allen Bill 17250 4
6 Reynolds Allison 19500 4
7 Johnson Katie 21000 3