Номер
Клиент
Товар
Количество Дата
Цена
►
140 ИП Газимова К.К.
конфеты "Коровка"
15 09.01.2013
90
45 Федорова Д.С.
Конфеты "Коровка"
50 02.04.2013
90
156 ИП Газимова К.К.
Конфеты "Мишка"
30 02.04.2013
150
200 Лесовая В.Н.
Мармелад "Кроха"
20 07.02.2013
85
85 Лесовая В.Н.
Мука пшеничная
50 02.04.2013
50
254 Лесовая В.Н.
Сахар
50 01.02.2013
60
144 Таран О.С.
Сосиски молочные
30 01.04.2013
260
25 Таран О.С.
Халва
5 04.01.2013
45
162 Федорова Д.С.
Халва
10 15.02.2013
45
112 ООО "Ромашка"
Халва
40 15.02.2013
45
12.3 сурет. Кестенің ішкі қосылыстарының
нәтижелері
Кестелерді іздеу кҥйінде қандай тәртіпте тізімдеу керек, яғни
кестелердің қайсысында сол жақта, ал
қайсысында оң жағында
кӛрсетілетіні маңызды емес. Кестелерді қосу әдісі
ішкі байланыс деп
аталады.
Міне, кестелердің ішкі бірігуінің тағы бір мысалы бар.
САТЫЛЫМДАР кестесінен тауарларды тҧтыну
туралы барлық
жазбаларды және әр клиент ҥшін оның қаласын ҥстелден кӛрсетіңіз
ТҦТЫНУШЫЛАР:
SELECT САТЫЛЫМДАР.*, ТҦТЫНУШЫЛАР
.Қала FROM САТЫЛЫМДАР, ТҦТЫНУШЫЛАР
WHERE ТҦТЫНУШЫЛАР.тҧтынушы = ТҦТЫНУШЫЛАР.Тҧтынушы
Мысалдан
кӛріп
тҧрғанымыздай
(12.4-сурет)
деректердің
жиынтығы САТЫЛЫМДАР кестесінде ешқандай жазбалар жоқ
ТҦТЫНУШЫЛАР кестесінің жазбаларын қамтымайды.
Екі кестенің ішкі қосылымы кезінде,
нәтиже жиынтығын
қалыптастыру реті келесідей ҧсынылуы мҥмкін. САТЫЛЫМДАР
сӛзінен кейін кӛрсетілген бағандардан аралық деректер жиынтығы
әрбір жазбаны бірінші кестеден әр
жазбамен біріктіру арқылы
қҧрастырылады.
|
Номер
|Клиент
Товар
Количество Дата
|Город
140 ИП Газимова К.К.
конфеты "Коровка"
15 09.01.2013
Москва
156 ИП Газимова К.К.
Конфеты "Мишка"
30 02.04.2013
Москва
254 Лесовая В.Н.
Сахар
50 01.02.2013
Москва
200 Лесовая В.Н.
Мармелад "Кроха"
20 07.02.2013
Москва
85 Лесовая В.Н.
Мука пшеничная
50 02.04.2013
Москва
112 ООО "Ромашка"
Халва
40 15.02.2013
Москва
25 Таран О.С.
Халва1
5 04.01.2013
Москва
144 Таран О.С.
Сосиски молочные
30 01.04.2013
Москва
162 Федорова Д.С.
Халва
10 15.02.2013
Санкт-
Петербург
45 Федорова Д.С.
Конфеты "Коровка"
50 02.04.2013
Санкт-
Петербург
12.4 сурет. ТҦТЫНУШЫЛАР және САТЫЛЫМДАР кестесінің
байланысы
254
WHERE тармағында іздестіру шартын қанағаттандырмайтын
барлық жазбалар.
Кестелерді SELECT сӛзінен кейін және WHERE кейін іздеу кҥйінен
кейін қайтарылған бағандар тізіміндегі кестелермен байланыстырудың
жоғарыдағы мысалдарында, кесте
аты бағанның атауына дейін
жазылған, мысалы:
WHERE КЛИЕНТЫ. Тҧтынушы= САТЫЛЫМДАР. Тҧтынушы
Баған атауынан бҧрын, әр тҥрлі кестелер бірдей бағандар болған
жағдайда кестенің атауын кӛрсетуіңіз керек (бҧл мысалдағы сияқты).
Бағандарды анықтау ҥшін кесте атауын пайдалану ыңғайсыз,
себебі
бҧл қиын және қиын оқиды. Әрбір ҥстелге қысқа атау -
бүркеншік
атты тағайындау әлдеқайда жақсы. Бҥркеншік аттар нақты кесте
атауынан FROM кілт сӛзінен кейін бастапқы
кестелер тізіміндегі бос
орын арқылы бӛлінеді. Мысалы, сҧрау
SELECT
САТЫЛЫМДАР.*,
ТҦТЫНУШЫЛАР.
Қала
FROM
САТЫЛЫМДАР, ТҦТЫНУШЫЛАР
WHERE ТҦТЫНУШЫЛАР.Тҧтынушы= САТЫЛЫМДАР.Тҧтынушы
Бҥркеншік кестелерді енгізгеннен кейін ол әлдеқайда ықшам кӛрінеді:
SELECT П.*, К. Қала FROM САТЫЛЫМДАР П, ТҦТЫНУШЫЛАР К
WHERE К. Тҧтынушы = П. Тҧтынушы
Арифметикалық ӛрнектер нәтижелер жиынының есептелетін
бағандарының мәндерін есептеу ҥшін пайдаланылады. Бҧл жағдайда
SELECT операторынан кейін есептелетін
бағанның атауының орнына
баған тізімінде ӛрнек кӛрсетіледі. Мәселен, келесі сҧраныс
САТЫЛЫМДАР кестесінен тауарларды сатуға арналған барлық
жазбаларды қайтарады және әрбір тауар сатуға жіберілген тауарлардың
жалпы қҧнын есептейді:
SELECT П .*, Т.Қҧны, П.Саны * Т.Қҧны FROM САТЫЛЫМДАР П,
ТАУАРЛАР Т WHERE П. Тауар = Т. Тауар
Бҧл сҧрақтың нәтижесін12.5 суреттен кӛруге болады.
Есептелетін ӛрісті қҧру ҥшін, қосу, алу, кӛбейту және бӛлудің
арифметикалық
амалдары, сондай-ақ SQL тілінің бекітілген
функциялары қолданылады. Кез келген атауды кӛрсетуге болады
Достарыңызбен бөлісу: