Select [all



Download 0,59 Mb.
bet3/6
Sana16.08.2021
Hajmi0,59 Mb.
#149403
1   2   3   4   5   6
Bog'liq
Маълумотлар базаси 7-лекция узб

id_st

Surname



id_ex

Subject

Date



id_ex

id_st

mark

1

Xasanov




1

Matem

10.05.2020




2

2

3

2

Karimov




2

Fizika







3

1

2

3

Jabborov




3

Informatika

25.05.2020




1

1

4






















3

2

5






















2

1

3






















1

2

2






















2

3

4






















1

3

5






















3

3

3

Endi SQL so`rovlari oddiydan boshlab tuzishga misollar qaraladi.

student jadvalidan barcha studentlar ro`yxatini tasvirlash.

SELECT * FROM student

yoki

SELECT id_st, surname FROM student



Yuqoridagi so`rovga ORDER BY surname ifodasi qo`shilsa, u holda ro`yxat familiya bo`yicha tartiblanadi. Jimlikka ko`ra tartiblash o`sish bo`yicha bajariladi. Jimlik o`rniga ASC so`zi ishlatiladi.

Ms: student jadvalidan barcha studentlar ro`yxatini tartiblab tasvirlash.

SELECT * FROM student

ORDER BY surname

Agar kamayish bo`yicha tartiblash kerak bo`lsa, u holda oxirgi ifodadagi atribut nomidan keyin DESC so`zi qo`shiladi.

SELECT * FROM student

ORDER BY DESC surname

Alias qo`yish. Natijaviy jadval maydon nomlarini o`zgartirishda AS so`zidan foydalaniladi.

SELECT id_st AS KOD, surname AS ‘FIO talaba`

FROM student

Eslatma. Agar aliasdagi maskalanuvchi matn bir nechta so`zdan iborat bo`lsa, ya`ni ular orasida probel bo`lsa, bu maska matni tirnoqchaga olinadi. Aks holda tirnoqchaga olish shart emas. So`rov natijasida qo`yidagicha bo`ladi.



KOD

FIO talaba

1

Xasanov

2

Karimov

3

Jabborov

WHERE so`zidan keyin solishtirish amallarini (<, >, =, <> va x.k.) va mantiqiy operatorlar qatnashgan ifodalarni joylashtirish mumkin.

«1» kodli student olgan baholar ro`yxatini tanlab olish va tasvirlash

SELECT id_st, mark

FROM mark_st



WHERE id_st = 1
SQL tilida bir nechta shartlarni birgalikda bajarilishi uchun AND, OR va NOT kabi mantiqiy operatorlar ishlatiladi.

AND – mantiqiy “hamda”, “va” ma`nosini beradi. Ikki shart orasiga qo`yiladi (shart1 AND shart2). Ifoda True bo`lishi uchun ikkala shart ham rost bo`lishi kerak.

OR – mantiqiy “yoki” ma`nosini beradi. Ikki shart orasiga qo`yiladi (shart1 AND shart2). Ifoda True bo`lishi uchun ikki shartdan birortasi rost bo`lishi kerak.

NOT – bekorlash, emas ma`nosini beradi (invert shart). Mantiqiy ifoda True (False) bo`lganda unga teskari bo`lgan False (True) qiymatlarni qaytaradi (NOT mantiqiy ifoda). Har bir mantiqiy operator uchun “haqiqat” jadvalini ishlab chiqsh mumkin. Bunda qiymat NULL bo`lganda natija qanday bo`lishiga qarab qo`shimcha shart beriladi.





AND







OR




NOT




True

False

NULL







True

False

NULL




True

False

NULL

True

True

False

NULL




True

True

True

True




False

True

NULL

False

False

False

False




False

True

False

False













NULL

NULL

False

NULL




NULL

True

False

NULL












Shuningdek, SQL so`rovida atributning NULL qiymatlari va NULL ifodalar bilan ham ishlash mumkin. Bunda IS NOT NULL (NULL ekanligi) va NOT NULL (NULL emasligi) operatorlari mavjud.

Mantiqiy operatorlarning bajarilishi jihatdan ularning ustivoligi quyidagicha belgilanadi:


  1. barcha mantiqiy ifoda qiymati hisoblanadi (True yoki False);

  2. NOT;

  3. AND;

  4. OR.

Imtixonlarda 2 yoki 3 baho olgan studentlar kodini tanlab olish.

SELECT id_st, mark

FROM mark_st

WHERE mark >= 2 AND mark <= 3

Imtixonlarda 2 yoki 3 baho olmagan studentlar kodini tanlab olish.

SELECT id_st, mark

FROM mark_st

WHERE NOT(mark = 2 OR mark = 3)

SQL tilida shart ifodalarini tuzish uchun solishtirish va mantiqiy operatorlardan tashqari yana bir qator maxsus operatorlar qo`llaniladi. Bu operatorlar dasturlash tillarida mavjud emas. Bu operatorlar:


  • BETWEEN –qiymatlar diapozoniga tegishliligini tekshirish;

  • LIKE – namuna bilan mosligini tekshirish;

  • IS NULL – qiymat mavjudmasligini tekshirish;

  • IN – biror qiymatlar to`plamiga tegishliligini tekshirish;

  • ANY –qiymatlar to`plamiga tegishliligini shart asosida tekshirish;

  • ALL –qiymatlar to`plamiga to`liq tegishliligini tekshirish;

  • EXISTS - qism so`rovdan natija qaytarilishini tekshiradi.

Endi ushbu peredikatlarga batafsil to`xtalib o`tiladi.

BERWEEN peridikati maydon kiymatini berilgan intervalga kirganligini tekshirish uchun ishlatiladi.



Yukoridagi natijani BETWEEN operatoridan foydalanib olish mumkin:

SELECT id_st, mark

FROM mark_st

WHERE mark BETWEEN 2 AND 3

Birorta ham 2, 3 olmagan talaba haqidagi ma`lumotlar olish uchun NOT IN yoki NOT BERWEEN orqali yoziladi.


LIKE peridikati faqat simvolli maydonlar uchun qo`llaniladi va maydon qiymati operatorda ko`rsatilgan namunaga mosligini tekshirish imkonini yaratadi.

Namuna quyidagi maxsus simvollardan tashkil topadi:



  • _ (tagiga chizish belgisi) – bitta ixtiyoriy simvolni bildiradi;

  • % (foiz belgisi) – ixtiyoriy miqdordagi simvollar ketma – ketligini bildiradi.

Shablon

Tasnif

abc%`

"abc" xarflar bilan boshlanuvchi ixtiyoriy kator.

abc_`

"abc" xarflar bilan boshlanuvchi va uzunligi 4 simvolli ixtiyoriy kator

%z`

"z" xarfi bilan yakunlanuvchi ixtiyoriy kator.

%mos%`

"mos" so`zi qatorning ixtiyoriy joyida keluvchiqkator.


Misol: Familiyalari A xarfi bilan boshlanuvchi studentlar ro`yxatini tanlab olish.

SELECT id_st, surname

FROM student

WHERE surname LIKE ‘A%`


Jadval atribut(lar)i qiymati mavjud (emas)ligini tekshirishda NOT NULL va IS NOT NULL operatorlar mavjud.

Misol. Imtixon sanasi ma`lum fanlar ro`yxatini chiqarish.

SELECT id_st, mark

FROM mark_st

WHERE Date NOT NULL



Misol. Imtixon sanasi noma`lum fanlar ro`yxatini chiqarish.

SELECT id_st, mark

FROM mark_st

WHERE Date IS NOT NULL


IN peridikati biror qiymatlar to`plamiga tegishlilikni tekshirish uchun ishlatiladi.



IN peridikatining sintaksisi:

SELECT [ustunlar... | hisoblashlar ]

FROM [jadval_nomi]

{WHERE | HAVING | {AND | OR}} value [NOT]



IN ({a11, a2 [, ...] | qism so`rov});

IN peridikatini oldida NOT kalit so`zini qo`llanilishi uning shartni tekshirilishin teskarisini beradi.



Ekzamenlarda kamida bitta 2 yoki 3 baho olgan studentlarni identifikatorini tanlab chikarish so`rovi.

SELECT id_st, mark

FROM mark_st

WHERE mark IN (2,3)


ANY (SOME), ALL peridikatlari ham IN kabi vazifani bajarib, lekin ularning imkoniyati IN dan kattaroq hisoblanadi. Bu peridikatlar WHERE yoki HAVING bo`limida berilgan qiymat(lar) bilan predikatdagi to`plam orasida taqqoslash operatori (=, <>, !=, >, >=, <, yoki <=) orqali ishlatiladi. Shuningdek, peridikatlar TRUE yoki FALSE (rost yoki yolg`on) qiymat qaytaradi.

ANY, ALL peridikatlari qism so`rovlarda ham ishlatiladi.

ANY, ALL, SOME peridikatlarini sintaksislari o`xash:

SELECT [ustunlar... | hisoblashlar ]

FROM [jadval_nomi]

WHERE ifoda shart_operatori {ALL | ANY | SOME} ( qism so`rov)

Misol uchun bizga (20, 56, 5, 15, 69, 10) to`plam berilgan bo`lib, uning eng katta elementi 5, eng kichik elementi 69 ga teng.

ANY peredikatida shartni qanoatlandiruvchi xech bo`lmaganda bitta element bor bo`lsa, rost hisoblanadi.

…WHERE 70 > ANY(20, 56, 5, 15, 69, 10) // Natija TRUE

…WHERE 70 < ANY(20, 56, 5, 15, 69, 10) // Natija FALSE

…WHERE 4 > ANY(20, 56, 5, 15, 69, 10) // Natija FALSE

…WHERE 4 < ANY(20, 56, 5, 15, 69, 10) // Natija TRUE

ALL peridikati esa ANY perikatiga o`xshash bo`lib, unda to`plamga tegishli barcha element peredikat bilan ifodani o`rtasidagi shartni qanoatlandirishi lozim.

…WHERE 70 > ALL(20, 56, 5, 15, 69, 10) // Natija TRUE

…WHERE 70 < ALL(20, 56, 5, 15, 69, 10) // Natija FALSE

…WHERE 4 > ALL(20, 56, 5, 15, 69, 10) // Natija FALSE

…WHERE 4 < ALL(20, 56, 5, 15, 69, 10) // Natija TRUE

ANY (SOME) va ALL peridikatlari oldida NOT kalit so`zini foydalanish mumkin.


EXISTS peridikati faqat qism so`rovlarda qo`llaniladi. Uning oldida taqqoslash operatorlari ishlatilmaydi.

Quyi so`rov hech bo`lmaganda bitta natija qaytarsa EXISTS operatori TRUE qiymatni qaytaradi aks holda ya`ni quyi so`rov natija qaytarmasa FALSE qiymatni qaytaradi.

EXISTS peridikatini sintaksisi quyidagicha:

SELECT [column_name... | expression1 ]

FROM [table_name]

WHERE [NOT] EXISTS (subquery)

Amaliyotda IN, ANY (SOME), ALL va EXISTS peridikatlari ko`pchilik hollarda qism so`rovlar yaratishda ishlatilishi sababli, bu peredikatlarga qism so`rovlar paragrafida batafsil misollar orqali to`xtalib ztiladi.


Download 0,59 Mb.

Do'stlaringiz bilan baham:
1   2   3   4   5   6




Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©hozir.org 2024
ma'muriyatiga murojaat qiling

kiriting | ro'yxatdan o'tish
    Bosh sahifa
юртда тантана
Боғда битган
Бугун юртда
Эшитганлар жилманглар
Эшитмадим деманглар
битган бодомлар
Yangiariq tumani
qitish marakazi
Raqamli texnologiyalar
ilishida muhokamadan
tasdiqqa tavsiya
tavsiya etilgan
iqtisodiyot kafedrasi
steiermarkischen landesregierung
asarlaringizni yuboring
o'zingizning asarlaringizni
Iltimos faqat
faqat o'zingizning
steierm rkischen
landesregierung fachabteilung
rkischen landesregierung
hamshira loyihasi
loyihasi mavsum
faolyatining oqibatlari
asosiy adabiyotlar
fakulteti ahborot
ahborot havfsizligi
havfsizligi kafedrasi
fanidan bo’yicha
fakulteti iqtisodiyot
boshqaruv fakulteti
chiqarishda boshqaruv
ishlab chiqarishda
iqtisodiyot fakultet
multiservis tarmoqlari
fanidan asosiy
Uzbek fanidan
mavzulari potok
asosidagi multiservis
'aliyyil a'ziym
billahil 'aliyyil
illaa billahil
quvvata illaa
falah' deganida
Kompyuter savodxonligi
bo’yicha mustaqil
'alal falah'
Hayya 'alal
'alas soloh
Hayya 'alas
mavsum boyicha


yuklab olish