Mae'r Iaith Ymholiad Strwythuredig yn cynnig dull adfer data pwerus a hyblyg i ddefnyddwyr cronfa ddata - y datganiad SELECT. Yn yr erthygl hon, byddwn yn edrych ar ffurf gyffredinol y datganiad SELECT ac yn cyfansoddi ychydig o ymholiadau cronfa ddata sampl gyda'i gilydd. Os mai dyma'ch tro cyntaf i fyd yr Iaith Ymholiad Strwythuredig, efallai yr hoffech adolygu erthygl Sylfaenol SQL cyn parhau.
Os ydych chi'n bwriadu dylunio cronfa ddata newydd o'r dechrau, dylai'r erthygl Creu Cronfeydd Data a Thablau yn SQL fod yn bwynt da i ffwrdd.
Nawr eich bod wedi gwthio ar y pethau sylfaenol, gadewch i ni ddechrau ein hymchwiliad o'r datganiad SELECT. Fel gyda gwersi SQL blaenorol, byddwn yn parhau i ddefnyddio datganiadau sy'n cydymffurfio â safon ANSI SQL. Efallai yr hoffech chi ymgynghori â'r ddogfennaeth ar gyfer eich DBMS i benderfynu a yw'n cefnogi opsiynau datblygedig a allai wella effeithlonrwydd a / neu effeithiolrwydd eich cod SQL.
Ffurflen Gyffredinol y Datganiad SELECT
Mae ffurf gyffredinol y datganiad SELECT yn ymddangos isod:
SELECT select_list
O'r ffynhonnell
BLE cyflwr (au)
GRWP GAN mynegiant
HAWCH amod
GORCHYMYN GAN mynegiant
Mae llinell gyntaf y datganiad yn dweud wrth y prosesydd SQL bod y gorchymyn hwn yn ddatganiad SELECT ac y dymunwn adennill gwybodaeth o gronfa ddata. Mae'r select_list yn ein galluogi i bennu'r math o wybodaeth yr ydym am ei adfer.
Mae'r cymal FROM yn yr ail linell yn pennu'r tabl (au) cronfa ddata penodol dan sylw ac mae'r cymal LLE yn rhoi'r gallu i ni gyfyngu'r canlyniadau i'r cofnodion hynny sy'n bodloni'r amod (au) penodedig. Mae'r tri chymal olaf yn cynrychioli nodweddion uwch y tu allan i gwmpas yr erthygl hon - byddwn yn eu harchwilio yn erthyglau SQL yn y dyfodol.
Y ffordd hawsaf i ddysgu SQL yw, er enghraifft. Gyda hynny mewn golwg, gadewch i ni edrych ar rai ymholiadau cronfa ddata. Drwy gydol yr erthygl hon, byddwn yn defnyddio tabl y gweithiwr o gronfa ddata ffynonol adnoddau dynol XYZ Corporation i ddangos ein holl ymholiadau. Dyma'r tabl cyfan:
EmployeeID | LastName | Enw cyntaf | Cyflog | Adroddiadau i |
1 | Smith | John | 32,000 | 2 |
2 | Scampi | Sue | 45,000 | 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 |
Adfer Tabl Gyfan
Mae Cyfarwyddwr Adnoddau Dynol XYZ Corporation yn derbyn adroddiad misol sy'n darparu cyflog a gwybodaeth adrodd ar gyfer pob gweithiwr cwmni. Mae cynhyrchu'r adroddiad hwn yn enghraifft o ffurflen symlaf y datganiad SELECT. Mae'n syml yn adfer yr holl wybodaeth sydd wedi'i chynnwys mewn tabl cronfa ddata - pob colofn a phob rhes. Dyma'r ymholiad a fydd yn cyflawni'r canlyniad hwn:
SELECT *
O'r gweithwyr
Yn syml iawn, dde? Mae'r seren (*) sy'n ymddangos yn y select_list yn gerdyn gwyllt a ddefnyddir i hysbysu'r gronfa ddata yr hoffem adennill gwybodaeth o'r holl golofnau ym mwrdd y gweithiwr a nodwyd yn y cymal ODDI. Roeddem eisiau adennill yr holl wybodaeth yn y gronfa ddata, felly nid oedd angen defnyddio cymal LLE i gyfyngu'r rhesi a ddewiswyd o'r bwrdd.
Dyma sut mae canlyniadau ein hymholiad yn edrych fel:
| EmployeeID | LastName | Enw cyntaf | Cyflog | Adroddiadau i |
| ---------- | -------- | --------- | ------ | --------- |
| 1 | Smith | John | 32,000 | 2 |
| 2 | Scampi | Sue | 45,000 | 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 |