12. WHERE kalit so’zi
WHERE kalit so’zi SELECT operatori yordamida ma’lumotlarni ajratib olishda kiymatlar bo’yicha shart kiritish uchun ishlatiladi. Quyidagi operatorni kiritamiz:
SELECT * FROM REGIONS WHERE Zip = 8324
Natijada bitta qator tanlanadi va Zip ustunidagi kiymati 8324 ga teng bo’ladi.
Keyingi keltirilayotgan operatorda REGIONS jadvalidagi qatorlarni sanash REGION ustuni “Gijduvan” bilan boshlanadigan shart asosida bo’ladi.
SELECT COUNT(*) FROM REGIONS WHERE Region LIKE 'Gijduvan%'
Natijada 1 qiymati qayd etiladi.
SELECT operatorining WHERE kalit so’zi bilan keladigan yana bir nechta variantlarini ko’ramiz.
SELECT COUNT(*) FROM REGIONS WHERE Zip BETWEEN 8300 AND 8320
Bu erda Zip maydoni 8300 dan 8320 gacha diapazonda bo’lgan qatorlar soni aniqlanadi.
SELECT * FROM REGIONS HERE Zip IN (8300,8310,8320)
Bu erda zip maydonining qiymati IN so’zidan keyin turgan qiymatlardan biriga teng bo’lgan qatorlar tanlanadi.
SELECT MAX(Zip) FROM REGIONS WHERE Region IS NOT NULL
Bu operatorda REGIONS jadvalining Zip maydonidagi eng katta qiymatga ega bo’lgan qator Region maydonidagi qandaydir qiymatga ega bo’lgan qatorlar orasidan tanlanadi.
SELECT * FROM REGIONS WHERE Region LIKE 'Gijduvan%' OR City = 'Gishti'
Bu erda Region maydoning qiymati “Gijduvan” bilan boshlanadigan va City maydoning qiymati “Gishti” ga teng bo’lgan qatorlar tanlanadi.
13. Birlashtirish
WHERE kalit so’zining yana bir qo’llanish sohalaridan biri jadvallarni mantiqiy birlashtirishdan iborat. Birlashtirish amali ikki etapda amalga oshiriladi: avval FROM kalit so’zi yordamida SELECT operatoridagi jadvallar birlashtiriladi, keyin esa WHERE kalit so’zi orqali jadvallarni kerakli maydon bo’yicha birlashtiriladi.
Quyidagi misolni ko’ramiz:
SELECT STAFF.LastName, STAFF.FirstName, STAFF.FatherName, REGIONS.City
FROM STAFF, REGIONS
WHERE STAFF.Zip = REGIONS.ZIP
Bu operator bajarilishi natijasida to’rtta maydondan iborat qator chiqariladi: Jo’raev, Azamat, Nosirovich, Gishti. Bu erda STAFF va REGION jadvallari Zip ustuni bo’yicha birlashtirilgan. WHERE shartida tenglikdan chap tomonda turgan jadval tashqi (outer), o’ng tomonda turgan jadval esa ichki (inner) jadval deyiladi.Yuqoridagi keltirilgan birlashtirish ichki birlashtirish (inner join) deyiladi.
Bundan tashqari birlashtirish tashqi (outer join) bo’lishi ham mumkin.
Bundan tashqari shartga bog’liq bo’lmagan qatorlar ham keltiriladi, birlashtirish shartiga mos kelmagan barcha maydonlar NULL qiymatini beradi.
Tashqi va ichki birlashtirishning ANSI sintaksisi quyidagi ko’rinishga ega.
SELECT Tablel.Columnl, Table2.Column2
FROM Tablel OUTER [INNER] JOIN Table2
ON Tablel.Columnl = Table2.Column3
Do'stlaringiz bilan baham: |