SELECT …
FROM …
WHERE … ;
Har bir satrda ko’p nuqtaning o’rnida ma'lum bir ma'lumotlar bazasining aloqalari, atributlari va shartlari va unga qo'yilgan vazifalar bo'lishi kerak. Eng umumiy holatda, asosiy SELECT tuzilishi quyidagicha ko'rinishi kerak:
SELECT atribut
FROM jadval_nomi
WHERE shartlar ;
Shunday qilib, biz munosabatlar diagrammasidan atributlarni tanlaymiz (ba'zi ustunlar sarlavhalari), qaysi munosabatlardan (va ko'rib turganingizdek, bir nechta bo'lishi mumkin) biz tanlovimizni amalga oshirmoqdamiz va nihoyat, biz tanlagan shartlar asosida so’rov hosil qilinadi
Quyidagi misollarni ko'rib chiqaylik. Kitob do'koni ma'lumotlar bazasining bo'lagi sifatida bizga book jadvali berilgan:
Kitob kodi
|
Nomi
|
Muallif
|
Narx
|
123456
|
C++ asoslari
|
Stenli Lippman
|
23 000
|
121333
|
PHP dasturlash
|
S. King
|
32 000
|
Quyidagi so’rovni hosil qilaylik:
SELECT Nomi, Muallif
FROM book
WHERE Narx > 25 000 ;
Ushbu so’rov quyidagi jadvalni bizga qaytaradi
Nomi
|
Muallif
|
PHP dasturlash
|
S. King
|
115. SQLda unar amallar.
1. Tanlov amallari.
SQL-da tanlov jarayoni quyidagi shaklning SELECT bayonoti tomonidan amalga oshiriladi:
SELECT barcha atributlar
FROM jadval_nomlari
WHERE tanlov shartlari ;
Bu erda "barcha atributlar" ni yozish o'rniga "*" belgisini ishlatishingiz mumkin. SQL nazariyasida, bu belgi munosabatlar sxemasidan barcha atributlarni tanlashni anglatadi.
Bu yerda tanlov sharti (va boshqa barcha operatsiyalarda) standart not (emas) and (va), or (yoki) standart biriktirgichlar bilan mantiqiy ifoda sifatida yozish mumkin.
Misol:
SELECT *
FROM student
WHERE Yoshi>20 and Shahar = Samarqand;
Ushbu so’rov natijasida yoshi 20 dan katta va Samarqand shahridan bo’lgan barcha ma’lumot student jadvalidan izlab, natija sifatida qaytariladi.
2. Proyeksiya amali.
SQLda proyeksiyalash jarayoni, tanlash operatsiyasidan ko'ra soddaroq. Eslatib o'tamiz, proyeksion operatsiyani amalga oshirishda, satrlar emas (tanlab olish operatsiyasidagi kabi), balki ustunlar tanlanadi. Shuning uchun, hech qanday tashqi shartlarni ko'rsatmasdan, zarur bo'lgan ustunlar sarlavhalarini (ya'ni, atributlarning nomlarini) ro'yxatga olish kifoya. Shunday qilib, biz quyidagi operatorni olamiz:
SELECT atributlar ro’yxati
FROM jadval_nomlari
Ushbu operatorni qo'llagandan so'ng, mashina ushbu jadvalning nomlari ushbu operatorning birinchi satrida ko'rsatilgan SELECT ustunlarini ko'rsatadi.
Yuqorida aytib o'tganimizdek, paydo bo'lgan munosabatlardan takroriy qatorlar va ustunlarni chiqarib tashlash kerak emas. Agar tartibda yoki topshiriqda takroriy nusxalarni yo'q qilish kerak bo'lsa, siz tuzilgan so'rovlar tilining maxsus variantini - DISTINCT- foydalanishingiz kerak. Ushbu parametr, takroriy kortejlarni munosabatlardan avtomatik ravishda chiqarib tashlashni o'rnatadi. Ushbu parametr qo'llanilsa, SELECT operatori quyidagicha bo'ladi:
Do'stlaringiz bilan baham: |