4 Деректерді шығару үшін сұраныстарды құру. SELECT инструкциясы. FROM инструкциясы. WHERE инструкциясы. ORDER BY инструкциясы. Сұраныстардың бірігуі SQL тілі алдымен сұраныстарды орындауға арналған. SQL сұранысын құру үшін қолданылатын SELECT инструкциясы тілдің барлық инструкцияларының ішіндегі ең қуаттысы болып табылады. Осы инструкцияның мүмкіндігінің байлығына қарамастан, оның оқитылуын қарапайым сұраныстарды құрудан бастап, біртіндей олардың күрделілігін үлкейтуге болады.
SELECT инструкцияның форматы:
SELECT [ALL | DISTINCT] {* | [баған_аты [AS жаңа_аты] ] } [,…n]
FROM кесте_аты [ [AS] псевдоним] [,…n]
[WHERE <таңдау_шарты> ]
[GROUP BY баған_аты [,…n] ]
[HAVING < таңдау_шарты > ]
[ORDER BY баған_аты [,…n] ]
SELECT процедуралы емес операторларға жатады. Сұраған деректерді таңдау үшін ДҚ сервері орындайтын. Сұраған деректерді шығарудың эффективті тәсілін анықтау үшін сұраныстарды оптимизаторының көмегімен ДҚ сервері операторды талдауы қажет. Инструкция алты ұсыныстан тұрады, олардың ішіндегі SELECT және FROM қажетті операторлар болып табылады; қалған төртеуі инструкцияға қажет кезінде қосылады. Ұсыныстың әрбір функциясын атайық.
SELECT ұсынысы SELECT инструкциямен қайтарылуға тиісті бағандар тізімін көрсетеді. Қайтарылатын бағандарда деректер қорындағы кесте бағандарынан алынатын мәндер немесе сұраныс орындалу уақытында есептелетін мәндер болуы мүмкін.
FROM ұсынысында сұраныспен алынатын деректер элементтері бар кесте тізімі көрсетіледі.
WHERE ұсынысында сұраныс нәтижелеріне кейбір жолдарды ғана қосуға болатындығын көрсетеді. Сұраныс нәтижелеріне қосылатын жолдарды сұрыптауда сұрыптау шарты қолданылады.
GROUP BY ұсынысы жинақтық сұраныстарды құруға мүмкіндік береді. Сұраныс нәтижесіне жай сұраныс кестенің әр жолына бір жазбадан қосады. Жинақтық сұраныс алғашында деректер қорының жолдарын анықталған түрмен топтап, сұраныс нәтижесіне әрбір топ үшін бір жинақ жолын еңгізеді.
HAVING ұсынысы GROUP BY ұсынысының көмегімен құрылған топтардың кейбіреуін ғана сұраныс нәтижесіне қосуға болатындығын көрсетеді. Бұл ұсыныста сұрыптау бойынша топқа қосатын сұрыптау шарты қолданылады.
ORDER BY ұсынысы бір немесе бірнеше бағандарда бар деректер негізінде сұраныс нәтижесін сұрыптайтынын көрсетеді. Егер бұл ұсыныс көрсетілмесе, сұраныс нәтижесі сұрыпталмайды.
WHERE ұсынысында қандай жолды шығаруды анықтайтын таңдау шарты көрсетіледі. Таңдау шарттары (ANSI/ISO стандартында олар предикаттар деп аталады):
Салыстыру. Бір өрнектің мәні басқа өрнектің мәнімен салыстырылады.
Диапазон. Көрсетілген мән анықталған диапазонға кіретіні тексеріледі.
Жиынға тиістілігі. Көрсетілген мәннің берілген мәндер жиынға жататындығы тексеріледі.
Үлгіге сәйкестігі. Қандай да бір жолдық мәні берілген үлгіге сәйкестігі тексеріледі.
NULL мәнінің теңдігі. Бағанда NULL мәні бар не жоғы тексеріледі.
Салыстыру. SQL тілінде екі өрнектің алты салыстыруын қолдануға болады: