Оқулық «Білім беруді дамытудың федералды институты»



жүктеу 2,79 Kb.
Pdf просмотр
бет85/101
Дата20.05.2018
өлшемі2,79 Kb.
#15312
түріОқулық
1   ...   81   82   83   84   85   86   87   88   ...   101

 
 
Количество Дата
 
Клиент
 
Город
 

 
50101.02.2013
 
Лесовая В.Н.
 
Москва
 
 
50 02.04.2013
 
Лесовая В.Н.
 
Москва
 
 
50 02.04.2013
 
Федорова Д.С.
 
Санкт-
б
 
12.8 
сурет. Салынған сұраныстар нәтижелері
 
SELECT 
П. Саны, П.Күні, К.Тұтынушы, К.Қала FROM 
САТЫЛЫМДАР П, ТҰТЫНУШЫЛАР К WHERE (П.Тұтынушылар = 
К.Тұтынушылар)
 
AND
 
П.Саны =(SELECT MAX(Саны) FROM САТЫЛЫМДАР)
 
Алдыңғы мысалмен салыстырғанда, сұрауда SALES кестелері мен 
CLIENTS 
ішкі қосылымы бар. 
Ішкі сұраныстың тағы бір мысалы - өнімнің жалпы орташа мәнінен 
асатын және ауытқу мөлшерін анықтайтын сатып алу күндерін анықтау 
(12.9-
сурет):
 
SELECT 
Күні, Саны,
 
Саны-(SELECT AVG(Саны) FROM САТЫЛЫМДАР)
 
AS 
ауысу  FROM САТЫЛЫМДАР WHERE Саны>
 
(SELECT AVG(
Саны)FROM САТЫЛЫМДАР)
 
Орташа  деңгейден  ауытқу  мөлшерін  есептеу,  және  мерзімдері 
туралы ақпаратты іріктеу үшін сыртқы SELECT есепте пайдаланылатын 
жалпы сату барлық фактілер бойынша тауарлар санының орташа мәні 
болып табылады сұрау салынған, бұл мысалда, нәтижесі. 
Жиі  ұсыныстар  WHERE  немесе  HAVINGсалыстырғанда  тиіс  мән, 
бір емес, білдіреді, бірақ бірнеше мағынасы - аралық уақытша кестесін 
қалыптастыру салынған сауалдар. 
атап  айтқанда,  өз  кезегінде  көптеген  қолданылады  операциялар 
негізінде операцияларды сауалдар, жағыңыз:
 
| Дата
 
Количество
 
Отклонение
 
 
02.04.2013
 
50
 
20
 
 
02.04.2013
 
50
 
20
 
 
15.02.2013
 
40
 
10
 
 
01.02.2013
 
50
 
20
 
12.9 
сурет. Қосымшаның нәтижесі 
 
 
262
 


 
[NOT] IN;
 
{ALL | SOME | ANY};
 
[NOT] EXISTS;
 
IN  операторы  белгілі  бір  мәнді  мәндер  тізіміне  салыстырып, 
салыстырылған  тізімде  мән  бар  ма  немесе  салыстырылатын  мән 
тексерілген тізімнің элементі емес екенін тексеру үшін пайдаланылады. 
Төмендегі  мысал  өнімнің  ең  көп  лотын  сатып  алған 
тұтынушылардың сату тізімін көрсетеді:
 
SELECT 
П.*
 
FROM 
САТАЛЫМДАР П WHERE П. Тұтынушы  IN
 
(SELECT 
П1. Тұтынушы  FROM САТЫЛЫМДАР П1 
WHERE 
П1. Саны  =
 
(SELECT MAX (
П2. Саны ) FROM САТЫЛЫМДАР П2))
 
Бұл сұрақтың логикасын түсіндірейік. Біріншіден, Саны бағандағы 
ең үлкен мән анықталады:
 
SELECT MAX (
П2. Саны ) FROM ПРОДАЖИ П2
 
Келесі  сұраудан  кейін  осы  сатып  алуды  жасаған  тұтынушылар 
анықталады:
 
SELECT 
П1. Тұтынушы  FROM САТЫЛЫМДАР П1 
WHERE 
П1. Саны  =
 
(SELECT MAX (
П2. Саны) FROM САТЫЛЫМДАР П2)
 
Содан  кейін  негізгі  сұраныс  SALES  кестесінен  табылған 
клиенттермен  IN  операторымен,  яғни  CUSTOMER  өрісінің  мәні 
кірістірілген сұрауларда алынған жиынтыққа тиесілі SALES кестесінен 
алынған  деректерді  ғана  алынған  деректер  жиынына  түсетін  барлық 
жазбаларды таңдайды (12.10-сур.).
 
 
Номер 
|Клиент
 
|
Товар
 
Количество Дата
 

 
45

Федорова Д.С.
 
конфеты "Коровка"
 
50 02.04.2013
 
 
162 Федорова Д.С.
 
Халва
 
10 15.02.2013
 
 
200 Лесовая В.Н.
 
Мармелад "Кроха"
 
20 07.02.2013
 
 
85 Лесовая В.Н.
 
Мука пшеничная
 
50 02.04.2013
 
 
254 Лесовая В.Н.
 
Сахар
 
50 01.02.2013
 
12.10 
сурет. Тауарлардың барынша көп мөлшерін сатып алатын тұтынушылардың 
сатып алу тізімі
 
263
 


NOT IN пайдаланған кезде салыстыру мәні кірістірілген сұрауларда 
алынған жиынтыққа кірмейтін жолдарды таңдауға болады. 
ANY 
және  ALL  деген  кілт  сөздерді  сандардың  бір  бағанын 
қайтаратын ішкі есептермен пайдалануға болады. 
Сәйкестендірілген мәннің және төменгі сұрау арқылы қайтарылатын 
мәндердің арақатынасы ALL және SOME (ANY):
 
■ 
ALL 
дегеніміз,  салыстырмалы  мәннің  төменгі  сұрау  арқылы 
қайтарылған барлық мәндермен сәйкес келетін коэффициенттің мәні 
болған  жағдайда,  яғни,  төменгі  сұраудың  нәтижелендірілген 
бағанындағы барлық мәндер үшін дұрыс екендігін көрсетеді;
 
■ 
SOME 
(немесе ANY) - іздеу шарты салыстырылған мәннің төменгі 
сұрау арқылы қайтарылған кем дегенде бір мәнмен дұрыс қатынасында 
болғанда, яғни ол төменгі сұраудың нәтижелендірілген бағанында кем 
дегенде біреуіне қанағаттандырылады. Егер төменгі сұрау нәтижесі 
бойынша бос мән алынды, онда ALL сөзі үшін салыстыру шарты 
орындалды деп есептеледі және кілт сөзді ANY - аяқталмаған. SOME 
кілт сөзі ANY сөзбен синоним болып табылады.
 
Жоғарыда  келтірілген  мысалдарды  келтірейік.  Тауар  сатылатын 
бірліктердің саны орташа мәннен асатын тауарларды сату фактілерінің 
барлығын анықтаңыз:
 
SELECT * FROM 
САТЫЛЫМДАР 
П1 WHERE П1. Саны>ALL 
(SELECT AVG(
П2. Саны)
 
FROM 
САТЫЛЫМДАРП2 
GROUP BY 
П2.Тұтынушы )
 
Және HAVING сөйлемін және ALL кілт сөзін пайдаланудың тағы 
бір мысалы. Ең көп тауарларды сатып алған клиент туралы ақпаратты 
шығарып алу керек SELECT К.*
 
FROM 
ТҰТЫНУШЫЛАР К 
WHERE 
К. 
Тұтынушы =
 
(SELECT 
П.Тұтынушы FROM САТЫЛЫМДАР П 
GROUP BY 
П. Тұтынушы HAVING SUM^. Саны) >= 
ALL (SELECT SUM (
П1. Саны)FROM 
САТЫЛЫМДАРП1 GROUP BY П1. Тұтынушы))
 
264
 


жүктеу 2,79 Kb.

Достарыңызбен бөлісу:
1   ...   81   82   83   84   85   86   87   88   ...   101




©g.engime.org 2024
әкімшілігінің қараңыз

    Басты бет
рсетілетін қызмет
халықаралық қаржы
Астана халықаралық
қызмет регламенті
бекіту туралы
туралы ережені
орталығы туралы
субсидиялау мемлекеттік
кеңес туралы
ніндегі кеңес
орталығын басқару
қаржы орталығын
қаржы орталығы
құрамын бекіту
неркәсіптік кешен
міндетті құпия
болуына ерікті
тексерілу мемлекеттік
медициналық тексерілу
құпия медициналық
ерікті анонимді
Бастауыш тәлім
қатысуға жолдамалар
қызметшілері арасындағы
академиялық демалыс
алушыларға академиялық
білім алушыларға
ұйымдарында білім
туралы хабарландыру
конкурс туралы
мемлекеттік қызметшілері
мемлекеттік әкімшілік
органдардың мемлекеттік
мемлекеттік органдардың
барлық мемлекеттік
арналған барлық
орналасуға арналған
лауазымына орналасуға
әкімшілік лауазымына
инфекцияның болуына
жәрдемдесудің белсенді
шараларына қатысуға
саласындағы дайындаушы
ленген қосылған
шегінде бюджетке
салығы шегінде
есептелген қосылған
ұйымдарға есептелген
дайындаушы ұйымдарға
кешен саласындағы
сомасын субсидиялау