SQL сұрауларымен деректерді алу: SELECT мәлімдемесімен таныстыру

Құрылымдалған Сұрау тілі дерекқор пайдаланушыларына қуатты және икемді деректерді іздеу механизмін ұсынады - SELECT мәлімдемесі. Бұл мақалада біз ТАҢДАУ мәлімдемесінің жалпы формасына қарап, бірге бірнеше дерекқор сұрауларын құрастырамыз. Егер бұл тұңғыш рет құрылымдық сұраныс тіліне айналса, жалғастырар алдында SQL негіздері мақаласын қарап шығыңыз.

Егер сіз жаңа дерекқорды нөлден жобалауға тырыссаңыз, SQL дерекқорлар мен кестелерді жасау мақаласы жақсы секіру нүктесін дәлелдеуі керек.

Енді сіз негіздер бойынша айналдырдыңыз, SELECT нұсқаулығын зерттей бастаймыз. Алдыңғы SQL сабақтарындағыдай, ANSI SQL стандарттарына сәйкес келетін мәлімдемелерді қолдануды жалғастырамыз. SQL кодының тиімділігі мен / немесе тиімділігін арттыратын кеңейтілген опцияларды қолдайтын-қолдамайтындығын анықтау үшін сіздің ДББЖ құжаттамаңызбен танысқыңыз келуі мүмкін.

SELECT мәлімдемесінің жалпы нысаны

SELECT нұсқауының жалпы формасы төменде пайда болады:

Select_list таңдау
FROM көзі
ҚАЙДА ШАРТТАР (лар)
GROUP BY өрнегі
HAVING жағдайы
ORDER BY өрнегі

Өтінімнің бірінші жолында SQL пәрменіне бұл пәрмен SELECT мәлімдемесі және дерекқордан ақпаратты алуды қалайтыны туралы айтады. Select_list бізге шығарғыңыз келетін ақпарат түрін көрсетуге мүмкіндік береді.

Екінші жолдағы FROM сөйлемі нақты дерекқордың кестелерін қамтиды және WHERE тармағы нәтижелерді көрсетілген шартқа (лерге) сәйкес келетін жазбаларға шектеу мүмкіндігін береді. Соңғы үш мақала осы мақаланың аясынан тыс кеңейтілген мүмкіндіктерді білдіреді - біз оларды болашақта SQL мақалаларында зерттейміз.

SQL үйренудің ең оңай жолы - мысал. Осыны ескере отырып, кейбір дерекқор сұрауларын қарап шығайық. Осы мақалада біз XYZ корпорациясының адам ресурстарының дерекқорынан біздің барлық сұрақтарды суреттеу үшін қызметкердің кестесін пайдаланамыз. Міне, бүкіл үстел:

EmployeeID

Тек

Аты

Жалақы

Есептер

1

Смит

Джон

32000

2

2

Scampi

Сью

45000

NULL

3

Кендалл

Том

29500

2

4 Джонс Ыбырайым 35000 2
5 Аллен Билл 17250 4
6 Рейнолдс Эллисон 19500 4
7 Джонсон Кэти 21000 3

Толық кестені шығарып алу

XYZ корпорациясының адам ресурстары басқармасының директоры әр қызметкердің жалақысы мен есеп беру ақпаратын беретін ай сайынғы есебін алады. Осы есептің генерациясы SELECT нұсқауының қарапайым нысаны болып табылады. Ол дерекқор кестесінде қамтылған барлық ақпаратты - әрбір бағанды ​​және әрбір жолды ғана алады. Бұл нәтижені орындайтын сұрау:

SELECT *
Қызметкерлерден

Өте қарапайым, дұрыс? Select_list- та пайда болатын жұлдызша (*) FROM тармағында анықталған қызметкер кестесіндегі барлық бағандардан ақпаратты алуды қалайтын деректер қорын хабарлау үшін пайдаланылатын қойылмалы таңба. Деректер базасында барлық ақпаратты алуды қаладық, сондықтан кестеден таңдалған жолдарды шектеу үшін WHERE тармағын пайдаланудың қажеті жоқ.

Сұрау нәтижелері төмендегідей көрінеді:

EmployeeID Тек Аты Жалақы Есептер
---------- -------- --------- ------ ---------
1 Смит Джон 32000 2
2 Scampi Сью 45000 NULL
3 Кендалл Том 29500 2
4 Джонс Ыбырайым 35000 2
5 Аллен Билл 17250 4
6 Рейнолдс Эллисон 19500 4
7 Джонсон Кэти 21000 3