бос орындарды немесе шектегіштерді қамтитын, тік жақшалармен
қоршалуы керек. Барлық өрістерді * символы арқылы таңдай аласыз
және өріс атауын емес, бірнеше атаулардан өрнекті пайдаланыңыз. Егер
бірнеше кесте өңделсе, өрістер тізіміндегі әр түрлі кестелердегі сол
өрістердің бар болуында толық өріс сипаттамасы пайдаланылады, яғни.
Кесте атауы. Өріс атауы.
SELECT операторының элементтерін өңдеу келесі ретпен жүзеге
асырылады:
■
FROM —
деректер таңдалатын дерекқор кестелерінің тізімі;
■
WHERE —
Белгіленген шарттарға сәйкес нысан жолдарын сүзгілеу;
■
GROUP BY —
көрсетілген бағанда бірдей мәнге ие жолдардың
топтары жасалады;
■
HAVING —
нысан жолдарының топтары көрсетілген күйге сәйкес
сүзіледі;
■
SELECT —
Шығарылған деректерде қандай бағандар болуы керек
екенін анықтайды;
■
ORDER BY —
Операторлардың орындау нәтижелерінің тәртібі
анықталды.
Сөйлемдегі сөйлемдер мен сөз тіркестерінің реті өзгертілмейді. Тек
екі ELECT және FROM ұсыныстар талап етіледі, барлық қалғандарды
алып тастауға болады. SELECT - жабық операция: кестеге сұраныстың
нәтижесі - басқа кесте. Төмендегі мысалдарда көрсетілгендей, осы
операторды жазудың көптеген нұсқалары бар.
Мысалы, осы операторды пайдаланып, барлық бағандардан және
Клиенттер кестесіндегі барлық енгізулерден тұратын деректер
жиынтығын жасай аласыз:
SELECT * FROM
Тұтынушылар
Егер жұлдызшаның орнына, кестенің барлық бағандарын тізімдесе,
сол деректер жиынтығын алуға болады:
SELECT
Тұтынушы,ЖСН,Қала,Телефон
FROM
Тұтынушылар
Сұраудың нәтижесі қайталанатын мәндер болуы мүмкін, себебі
SELECT мәлімдемесі деректерді алуды орындау кезінде қайталанатын
мәндерді алып тастамайды. DISTINCT предикаты таңдалған өрістерде
қайталанатын жазбалары бар деректер блоктарын тастағыңыз келетін
жағдайларда пайдаланылуы керек. SELECT нұсқауындағы өрістердің
әрқайсысы үшін мәндер
248
бірегей болуы тиіс, сондықтан оларды қамтитын жазбалар шығару
жиынтығына кіруі мүмкін. DISTINCT-ды пайдалануды шектеудің
себебі - оны қолдану сұраныстардың орындалуын күрт төмендетуі
мүмкін.
Алдыңғы сұрауды келесідей түзетеміз:
SELECT DISTINCT
КЛИЕНТЫ.Қала
FROM
ТҰТЫНУШЫЛАР
Нәтижесінде біз қалалардың тізімін аламыз - клиенттердің
орналасуы.
WHERE тармағы деректер жиынтығында қажетті жазбаларды ғана
қамту үшін пайдаланылады. Бұл жағдайда SELECT операторының
келесі пішімі бар:
SELECT {* | <
мән1> [, <мән2> ...]}
FROM <
кесте1> [, < кесте2> . . . ]
WHERE <
шарт>
WHERE кілт сөзі іздеу терминдерінің тізімін іздейді. SELECT
операторы қайтаратын деректер WHERE тармағынан кейін көрсетілген
іздеу шартына сәйкес келетін жазбаларды ғана қамтиды. Әрі қарай,
әртүрлі кестелерден деректерді таңдау үшін өте күрделі жағдайларды
қарастырамыз, бірақ қазір қарапайым талдау жасаймыз.
Іздеу шарттарының негізгі түрлері (немесе предикаттар) төменде
берілген.
1. Салыстыру: бір өрнек есептеуді басқа біреудің есептеу нәтижесі
немесе түрлі бағандардың мәндері салыстырылады.
2. Ауқым: бағанның мәнінің төмендеуі немесе өрнектің белгілі бір
мәндер ауқымына баға беру нәтижесі тексеріледі.
3. Жиынға байланысты: бағанның мәніне тиесілі ме немесе өрнектің
белгілі бір мәндер жиынын бағалау нәтижесі.
4. Үлгі сәйкестігі: жолдың мәні берілген үлгіге сәйкестігін тексереді.
5. NULL мәні: бағанда NULL (белгісіз мән) идентификаторы бар-
жоғын тексереді.
Мысалы, ТҚТЫНУЩЫЛАР кестесінен Санкт-Петербургтағы
клиенттер тізімі сұратылып алынуы мүмкін:
SELECT *
FROM
ТҰТЫНУШЫЛАР
WHERE
ТҰТЫНУШЫЛАР.Қала = «Санкт-Петербург»
249
SQL тілінде келесі салыстыру операторларын қолдана аласыз:
=
Тең
<
кіші
>
Көп
<=
Кіші немесе тең
>=
Көп немесе тең
<>
Тең емес
Мысалы, сатылатын тауардың саны көп болатын тауарлардың
барлық сатылымдарын көрсету 10:
SELECT *
FROM
ПРОДАЖИ WHERE саны>10
Неғұрлым күрделі предикаттарды AND, OR, немесе NOT логикалық
операторларымен, сондай-ақ өрнек бағаланатын тәртіпті анықтау үшін
пайдаланылатын жақшалар арқылы құрастыруға болады. Ережені
есептеу жағдайында төмендегі ережелерге сәйкес жүзеге асырылады:
■
өрнек солдан оңға қарай бағаланады;
■
Алғашқы жақшадағы алдымен есептеледі;
■
NOT операторлары AND және OR операторларына дейін
орындалады;
■
AND
нұсқаулары OR орындалмай тұрғанда орындалады. Кез келген
ықтимал белгісіздікті жою үшін жақшаларды қолдану ұсынылады.
Міне, бірнеше күрделі іздеу шарттарын қолдану мысалдары. Келесі
сұрау нәтижесі бойынша 50 немесе одан жоғары және 100-ден аз немесе
тең баға бойынша тауарлардың тізімі:
SELECT
Тауар, Құны FROM ТАУАРЛАР
WHERE
Құны>=50 AND Құны<=100
Сол сұрауды BETWEEN операторы арқылы орындауға болады.
BETWEEN кілт сөзі оның ең аз және ең үлкен мәндері арқылы
анықталған белгілі бір аралығындағы мәнді табу үшін пайдаланылады.
Көрсетілген мәндер іздеу шартына қосылады:
250
Достарыңызбен бөлісу: |