Kirish Ma’lumotlar bazasi haqida mbbt funktsityalari


-Mavzu: SELECT, FROM ifodalari



Download 5,2 Mb.
bet61/79
Sana17.04.2022
Hajmi5,2 Mb.
#558651
1   ...   57   58   59   60   61   62   63   64   ...   79
Bog'liq
Maruza mbbt (1-60)

43-Mavzu: SELECT, FROM ifodalari.
Reja:
1. SQL da SELECT iborasi sintaksisi:
2. SELECT expressions
3. FROM tables

SQL da SELECT iborasi sintaksisi:


[WHERE conditions]
[ORDER BY expression [ ASC | DESC ]];
Parametrlar yoki argumentlar
ifodalar
Qabul qilmoqchi bo'lgan ustunlar yoki hisoblar. Barcha ustunlarni tanlash uchun * dan foydalaning.
jadvallar
Yozuvlarni olmoqchi bo'lgan jadvallar. FROM bandida kamida bitta jadval bo'lishi kerak.
WHERE shartlari
Majburiy emas. Yozuvlarni tanlash uchun bajarilishi kerak bo'lgan shartlar. Hech qanday shartlar taqdim etilmasa, barcha yozuvlar tanlanadi.
Ifodasi bo'yicha TARTIBI
Majburiy emas. Natijalar to'plamidagi yozuvlarni saralash uchun ishlatiladigan ifoda. Agar bir nechta ifoda berilgan bo'lsa, qiymatlar vergul bilan ajratilishi kerak.
ASC
Majburiy emas. ASC natija to'plamini ifoda bo'yicha o'sish tartibida tartiblaydi . Agar hech qanday modifikator provayder bo'lmasa, bu standart xatti-harakatlardir.
DESC
Majburiy emas. DESC natija to'plamini ifoda bo'yicha kamayish tartibida tartiblaydi .
Misollar uchun DDL/DML
Agar siz ushbu qoʻllanmaga amal qilmoqchi boʻlsangiz, jadvallarni yaratish uchun DDL va maʼlumotlarni toʻldirish uchun DML ni oling. Keyin o'zingizning ma'lumotlar bazangizdagi misollarni sinab ko'ring!
DDL/DML oling
Misol - Jadvaldagi barcha maydonlarni tanlang
Keling, jadvaldagi barcha maydonlarni tanlash uchun SQL SELECT operatoridan qanday foydalanishni ko'rsatadigan misolni ko'rib chiqaylik.
Ushbu misolda bizda quyidagi ma'lumotlarga ega mijozlar deb nomlangan jadval mavjud :

customer_id

familiya

ism

sevimli_veb-sayt

4000

Jekson

Jo

tehonthenet.com

5000

Smit

Jeyn

digminecraft.com

6000

Fergyuson

Samantha

bigactivities.com

7000

Reynolds

hamma

checkyourmath.com

8000

Anderson

Peyj

NULL

9000

Jonson

Derek

tehonthenet.com

Endi mijozlar jadvalidagi barcha ustunlarni tanlash orqali SELECT iborasi qanday ishlashini ko'rsatamiz . Quyidagi SELECT bayonotini kiriting:
Urunib ko'r
SELECT *
FROM customers
WHERE favorite_website = 'techonthenet.com'
ORDER BY last_name ASC;
2 ta yozuv tanlanadi. Bu siz ko'rishingiz kerak bo'lgan natijalar:

customer_id

familiya

ism

sevimli_veb-sayt

4000

Jekson

Jo

tehonthenet.com

9000

Jonson

Derek

tehonthenet.com

Ushbu misolda biz sevimli_veb-sayt " techonthenet.com " bo'lgan mijozlar jadvalidagi barcha maydonlarni ko'rishni xohlayotganimizni bildirish uchun * dan foydalandik . Natijalar to'plami familiya bo'yicha o'sish tartibida tartiblangan.
Misol - Jadvaldan alohida maydonlarni tanlang
Jadvaldagi barcha maydonlardan farqli o'laroq, jadvaldan alohida maydonlarni tanlash uchun SQL SELECT iborasidan ham foydalanishingiz mumkin.
Ushbu misolda bizda quyidagi ma'lumotlarga ega etkazib beruvchilar deb nomlangan jadval mavjud :

yetkazib beruvchi_identifikatori

yetkazib beruvchi_nomi

shahar

davlat

yuz

Microsoft

Redmond

Vashington

200

Google

Tog' ko'rinishi

Kaliforniya

300

Oracle

Redwood shahri

Kaliforniya

400

Kimberli-Klark

Irving

Texas

500

Tyson Foods

Springdale

Arkanzas

600

SC Jonson

Ildiz

Viskonsin

700

Dole oziq-ovqat kompaniyasi

Westlake qishlog'i

Kaliforniya

800

Gullar Oziq-ovqatlar

Tomasvil

Gruziya

900

Elektron san'at

Redwood shahri

Kaliforniya

Endi jadvaldan alohida ustunlarni tanlash uchun SELECT operatoridan qanday foydalanishni ko'rsatamiz. Quyidagi SELECT bayonotini kiriting:
Urunib ko'r
SELECT supplier_name, city
FROM suppliers
WHERE supplier_id > 500
ORDER BY supplier_name ASC, city DESC;
4 ta yozuv tanlanishi kerak. Bu siz ko'rishingiz kerak bo'lgan natijalar:

yetkazib beruvchi_nomi

shahar

Dole oziq-ovqat kompaniyasi

Westlake qishlog'i

Elektron san'at

Redwood shahri

Gullar Oziq-ovqatlar

Tomasvil

SC Jonson

Ildiz

Bu misol yetkazib beruvchilar jadvalidagi yetkazib beruvchilar_ nomi va shahar maydonlarini qaytaradi, bunda yetkazib beruvchilar_id qiymati 500 dan katta boʻladi. Natijalar yetkazib beruvchi_ nomi boʻyicha oʻsish tartibida va keyin shahar boʻyicha kamayish tartibida tartiblanadi.
Misol - Bir nechta jadvallardan alohida maydonlarni tanlang
Bir nechta jadvallardan maydonlarni olish uchun SQL SELECT iborasidan ham foydalanishingiz mumkin.
Ushbu misolda bizda quyidagi ma'lumotlarga ega buyurtmalar deb nomlangan jadval mavjud :

order_id

customer_id

buyurtma_sanasi

bitta

7000

2016-04-18

2

5000

2016-04-18

3

8000

2016-04-19

4

4000

20.04.2016

besh

NULL

2016-05-01

Va quyidagi ma'lumotlarga ega bo'lgan mijozlar chaqirilgan jadval :

customer_id

familiya

ism

sevimli_veb-sayt

4000

Jekson

Jo

tehonthenet.com

5000

Smit

Jeyn

digminecraft.com

6000

Fergyuson

Samantha

bigactivities.com

7000

Reynolds

hamma

checkyourmath.com

8000

Anderson

Peyj

NULL

9000

Jonson

Derek

tehonthenet.com

Endi buyurtmalar va mijozlar jadvallaridan ustunlarni tanlaylik. Quyidagi SELECT bayonotini kiriting:
Urunib ko'r
SELECT orders.order_id, customers.last_name
FROM orders
INNER JOIN customers
ON orders.customer_id = customers.customer_id
WHERE orders.order_id <> 1
ORDER BY orders.order_id;
3 ta yozuv tanlanadi. Bu siz ko'rishingiz kerak bo'lgan natijalar:

order_id

familiya

2

Smit

3

Anderson

4

Jekson

Ushbu SELECT misoli ikkita jadvalni birlashtiradi va bizga buyurtmalar jadvalidagi order_id va mijozlar jadvalidagi familiyani ko'rsatadigan natijalar to'plamini beradi . Har safar SELECT iborasida ustundan foydalanganda, ustun qaysi jadvalga tegishli ekanligida noaniqlik boʻlsa, ustunga jadval nomini qoʻyamiz (masalan, orders . order_id ).
Agar siz buyurtmalar jadvalidagi barcha maydonlarni, so'ngra mijozlar jadvalidagi familiya maydonini tanlamoqchi bo'lsangiz, quyidagi SELECT iborasini kiritasiz:
Urunib ko'r
SELECT orders.*, customers.last_name
FROM orders
INNER JOIN customers
ON orders.customer_id = customers.customer_id
WHERE orders.order_id <> 1
ORDER BY orders.order_id;
3 ta yozuv tanlanadi. Bu siz ko'rishingiz kerak bo'lgan natijalar:

order_id

customer_id

buyurtma_sanasi

familiya

2

5000

2016-04-18

Smit

3

8000

2016-04-19

Anderson

4

4000

20.04.2016

Jekson

Bu misolda biz buyurtmalar jadvalidagi barcha maydonlarni tanlashni xohlayotganimizni bildirish uchun buyurtmalar . * dan foydalanamiz va keyin mijozlar jadvalidan familiya maydonini tanlaymiz .


44-Mavzu: SQL yordamida tanlash so‘rovlari WHERE, BETWEEN
Reja:
1.
2.
3.
BETWEEN predikati bilan eng oddiy so'rovlarda tekshirilayotgan ustun uchun interval chegaralari bevosita raqamli qiymatlarni ko'rsatish orqali belgilanadi.
Misol 1. Shunday qilib, biz kompaniyaning ma'lumotlar bazasi va xodimlarning ish haqi to'g'risidagi ma'lumotlarni o'z ichiga olgan xodimlar jadvali bilan ishlamoqdamiz.

ID

Ism

Ish haqi

bitta

Sanders

18357.5

2

oyoq

15430.0

3

Marenghi

17506.8

4

Doktor

12322.4

besh

Faktor

16228.7

6

Junkers

16232.8

7

Oy nuri

21500.6

8

Aisen

19540.7

to'qqiz

MakGregor

15790.8

Maoshi 16 000 dan 18 000 gacha bo'lgan xodimlarni ko'rsatish talab qilinadi. BETWEEN predikati bilan quyidagi so'rovni yozamiz:

16000 dan 18000 gacha


bo'lgan maoshi bo'lgan
xodimlardan
*
TANlang
So'rov quyidagi natijalar jadvalini ishlab chiqaradi:

ID

Ism

Ish haqi

3

Marenghi

17506.8

besh

Faktor

16228.7

6

Junkers

16232.8

2- misol.Ma’lumotlar bazasi va jadval 1-misoldagi bilan bir xil.Maoshi 16000 dan 18 000 gacha bo‘lgan intervaldan tashqarida bo‘lgan xodimlarni ko‘rsatish talab qilinadi.BETWEEN predikati bilan quyidagi so‘rovni yozamiz, undan oldin NOT kalit so‘zini qo‘yamiz:

Maoshi 16000 dan 18000 gacha


bo'lmagan
xodimlardan
*
TANLANING _
So'rov quyidagi natijalar jadvalini ishlab chiqaradi:

ID

Ism

Ish haqi

bitta

Sanders

18357.5

2

oyoq

15430.0

4

Doktor

12322.4

7

Oy nuri

21500.6

8

Aisen

19540.7

to'qqiz

MakGregor

15790.8

BETWEEN bilan so'rovlar: ichki so'rovlar tomonidan berilgan interval
BETWEEN bilan so'rovlarda tekshirilayotgan ustun uchun interval chegaralari, uni ichki so'rovlar bilan belgilangan ba'zi shartlar bilan o'rnatish orqali aniq o'tkazib yuborilishi mumkin.
Misol 3. Biz Xodimlar bazasi bilan ishlashni davom ettiramiz. Ish haqi o'rtacha va maksimal o'rtasidagi intervalda bo'lgan xodimlarni ko'rsatish talab qilinadi. Biz quyidagi so'rovni yozamiz, unda chegaralar o'rnatilgan so'rovlar bilan o'rnatiladi:

*
Xodimlardan ish


haqini
( Xodimlardan AVG (ish haqi) TANLASH )
VA
( Xodimlardan MAX (ish haqi ) ni tanlang )
Shartlar so'rovni bajarish natijasida qaysi jadval qatorlarini ko'rsatishni belgilash imkonini beradi. Ular WHERE buyrug'i bilan kerakli ustunlar va jadvallar ko'rsatilgandan keyin o'rnatiladi.
Ko'pgina so'rovlarni kompilyatsiya qilishda tanlov sharti qo'shiladi. Ular ma'lum tanlov parametrlarini belgilash orqali keraksiz chiziqlarni filtrlash imkonini beradi. Natijada siz katta jadvallardan kerakli qatorlarni tezda tanlashingiz mumkin. Bu ma'lumotlar bazasi uchun so'rovlar tilini yaratishda asosiy g'oya edi.
Biz oldingi bobdagi kabi misollar uchun bir xil jadvaldan foydalanamiz :

raqam (modda raqami )



sarlavha
(sarlavha)

narx
(narx)

bitta

Choynak

300

2

Kubok

yuz

3

Bir qoshiq

25

4

Plita

yuz

Misol. 100 rubllik tovarlarni tanlash uchun siz shartni belgilashingiz kerak:
SELECT * FROM goods WHERE price = 100
Bu yerda SELECT va FROM bandlari qaysi jadvallardan qaysi ustunlarni chiqarishni belgilaydi.
WHERE - tanlash sharti ko'rsatilayotganligini bildiruvchi buyruq.
narx = 100 - qatorni tanlash mezoni.
Bunday so'rov shartni qoniqtirmaydigan barcha qatorlarni o'chiradi. Natijada quyidagi ma'lumotlar to'plami bo'ladi:

Operator

Ma'nosi

=

tenglik

>

Ko'proq

<

Kamroq

!=

teng emas

>=

dan katta yoki teng

<=

dan kam yoki teng

Shartlarni qurish uchun boshqa operatsiyalar mavjud. Ammo bu haqda keyinroq.
Bundan tashqari, bir nechta shartlarni o'rnatish qobiliyatini ta'kidlash kerak. Masalan, siz 2 dan katta va narxi 100 dan kam bo'lgan barcha mahsulotlarni tanlashingiz kerak:
SELECT * FROM goods WHERE num > 2 AND price < 100
Bu yerda AND buyrug'i mantiqiy AND operatori bo'lib, birinchi shart rost VA ikkinchi shart ham to'g'ri bo'lgan qatorlarni tanlash kerakligini ko'rsatadi. Jadvaldan faqat bitta qator bu shartlarga to'g'ri keladi.



Download 5,2 Mb.

Do'stlaringiz bilan baham:
1   ...   57   58   59   60   61   62   63   64   ...   79




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