linkedin facebook linkedin facebook nod32

SQL da SELECT so‘rov operatori

Muallif: Mengliyev Sh.

Qo`shilgan sana: 2015-08-20

SQL da SELECT so‘rov operatori

SELECT operatori MB jadvallaridan natijaviy to‘plam olish uchun mo‘ljallangan ifodadir. Biz SELECT operatori yordamida so‘rov beramiz, u bo‘lsa ma’lumotlar natijaviy to‘plamini qaytaradi. Bu ma’lumotlar jadval shaklida qaytariladi. Bu jadval keyingi SELECT operatori tomonidan qayta ishlanishi mumkin va xokazo.
Operator SQL92 standartiga ko‘ra quyidagi ko‘rinishga ega:

SELECT  -- ALL -------  sxema , ustun ----

        -- DISTINCT --  ----  *  -----------

FROM    -- sxema , Jadval .. --------------

WHERE   -- izlash sharti ------------------

GROUP BY  -- sxema , ustun ---------------

HAVING  -- izlash sharti ------------------

ORDER BY – tartiblash spetsifikatori --------

Birinchi qoida, SELECT ifodasi o‘z ichiga albatta FROM ifodasini olishi kerak. Qolgan ifodalar kerak bo‘lsa ishlatiladi.
SELECT ifodasidan so‘ng so‘rovda qaytariluvchi ustunlar ro‘yxati yoziladi.
FROM ifodasidan so‘ng so‘rovni bajarish uchun jadvallar nomi yoziladi.
WHERE ifodasidan so‘ng agar ma’lum satrlarni qaytarish lozim bo‘lsa, izlash sharti yoziladi.
GROUP BY ifodasi guruxlarga ajratilgan natijaviy so‘rov yaratishga imkon beradi.
HAVING ifodasidan guruxlarni qaytarish sharti yoziladi va GROUP BY bilan birga ishlatiladi.
ORDER BY ifodasi ma’lumotlar natijaviy to‘plamini tartiblash yo‘nalishini aniqlaydi.

OFFICES jadvalidagi xamma yozuvlarni qaytaruvchi sodda so‘rov ko‘ramiz.

SELECT *(vse!) FROM OFFICES

SELECTyordamida ma’lumotlarni tanlash
SELECT Operatori albatta "qaytariluvchi ustunlar ro‘yxati " ni o‘zichiga olishi kerak, ya’ni:

SELECT FILED1, FIELD2, FIELD3 ... FROM ...

FILED1, FIELD2, FIELD3 qaytariluvchi ustunlar ro‘yxati bo‘lib, ma’lumotlar ketma ketligi shu tartibda qaytariladi!
YA’na "qaytariluvchi ustunlar ro‘yxati" xisoblanuvchi ustunlar va konstantalarni o‘zichiga olishi mumkin.

SELECT FILED1, (FIELD2 - FIELD3) "CONST" ... FROM ...

FROM jumlasi  "jadval spetsifikatorlari ", ya’ni so‘rovni tashkil qiluvchi jadvallar nomini o‘z ichiga oladi. Bu jadvallar so‘rov asoini tashkil qiluvchi jadvallar deyiladi.
Misol: Xamma xizmatchilarning nomlari, ofislari va ishga olish sanalari ro‘yxatini xosil qilish.

SELECT NAME, REP_OFFICE, HIRE_DATE FROM SALESREPS

operatora SELECT qaytaruvchi ustunlar ixtiyoriysi xisoblanuvchi,ya’ni natijada mustaqil ustun sifatida tasvirlanuvchi matematik ifoda bo‘lishi mumkin.
Misol: Xar bir ofis uchun shaxarlar, regionlar va sotuvlar rejasi qanchaga ortig‘i yoki kami Bilan bajarilganligi ro‘yxati.

SELECT CITY, REGION, (SALES-TARGET)  FROM OFFICES

  Xar bir xizmatchi uchun rejadagi sotuvlar xajmini xaqiqiy sotuvlar xajmining 3% foiziga oshirish!

SELECT NAME, QUOTA, (QUOTA +((SALES/100)*3))   FROM SALESREPS

  Ba’zida ustunlardan biri izlash shartiga bog‘liq bo‘lmagan qiymat qaytarishi kerak bo‘ladi!

Masalan: Xar bir shaxar uchun sotuvlar xajmlari ro‘yxatini chiqaring.

SELECT CITY, 'Has sales of', SALES FROM OFFICES

  'Has sales of' bu konstantalar ustunidir.

Ba’zida ma’lumotlarni tanlashda qaytariluvchi qiymatlar xosil bo‘ladi.
Bu xol yuz bermasligi uchun DISTINCT operatoridan foydalanish lozim. Masalan, quyidagicha:

 SELECT DISTINCT MGR FROM OFFICES

SELECT operatori WHEREsharti
Endi WHERE ifodasidan foydalanib ba’zi so‘rovlarni ko‘rib chiqamiz: Sotuvlar xaqiqiy xajmi rejadan oshgan ofislarni ko‘rsating.
 SELECT CITY, SALES, TARGET FROM OFFICES   WHERE SALES > TARGET
  Zdesь WHERE SALES > TARGET, znachit, esli SALES bolьshe TARGET!
Identifikatori 105 ga teng bo‘lgan xizmatchi nomi xaqiqiy va rejadagi sotuvlar xajmini ko‘rsating:
SELECT SALES, NAME, QUOTA FROM SALESREPS  WHERE EMPL_NUM = 105
Zdesь WHERE EMPL_NUM = 105, oznachaet, EMPL_NUM ravno 105!
Agar izlash sharti ROST(TRUE), bo‘lsa qator natijaviy to‘plamga qo‘shiladi, agar izlash sharti LOJNO(FALSE), qator natijaviy to‘plamga qo‘shilmaydi, agar NULL bo‘lsa xam natijaviy to‘plamdan chiqariladi! O‘z ma’nosiga ko‘ra WHERE, keraksiz yozuvlarni chiqarib, kerakligimni qoldiruvchi filьtr sifatida ishlatiladi!
Asosiy izlash shartlari "predikatlar", beshta. Ularni ko‘rib chiqamiz:

1. Solishtirish, ya’ni bir shart natijasi ikkinchisi bilan solishtiriladi. Birinchi so‘rov kabi.

2. Qiymatlar diapazoniga tegishlilikni tekshirish. Masalan berilgan qiymat diapazonga kiradimi yo‘qmi.

3. To‘plam elementiligini tekshirish. Masalan, ifoda qiymati to‘plamdagi biror qiymat Bilan ustma ust tushadimi.

4. Shablonga moslikni tekshirish. Ustundagi satrli qiymat shablonga mos keladimi.

5. NULL qiymatga tenglikka tekshirish.

Solishtirish amallari maydon va konstantalarnisolishtirish amallarini o‘z ichiga olishi mumkin: 1988 yilgacha ishga olingan xamma xizmatchilar nomlarini toping.

SELECT NAME FROM SALESREPS
 WHERE HIRE_DATE <TO_DATE('01.06.1988','DD/MM/YYYY')

TO_DATE('01.06.1988','DD/MM/YYYY') - PL/SQL Oracle sana Bilan ishlash standart funksiyasi.
YOki arifmetik ifodalarni o‘z ichiga olishi mumkin: Xaqiqiy sotuvlar xajmi rejaning 80 foizidan kam bo‘lgan ofislar ro‘yxatini chiqaring.

SELECT CITY, SALES, TARGET FROM OFFICES
 WHERE SALES < (0.8 * TARGET)

Ko‘p xollarda izlash birlamchi kaliti bo‘yicha konstantalar bilan solishtirish so‘rovlaridan foydalaniladi, masalan shaxar telefon tarmog‘i abonenti, axir ikkita bir xil nomerlar mavjud emas!

561 marta o`qildi.

Parol:
Eslab qolish.


Ro`yhatdan o`tish

testing

+998915878681

Siz o`z maxsulotingizni 3D reklama ko`rinishda bo`lishini xohlaysizmi? Unda xamkorlik qilamiz.

3D Reklama


Рейтинг@Mail.ru
Рейтинг@Mail.ru

Besucherzahler
счетчик посещений