O'zbеkiston r


SELECT column_names [,... n]



Yüklə 7,78 Mb.
səhifə35/56
tarix20.11.2023
ölçüsü7,78 Mb.
#162990
1   ...   31   32   33   34   35   36   37   38   ...   56
Malumotlar bazasi.Uslubiy qo\'llanma

SELECT
column_names [,... n]
FROM
Table_1 FULL JOIN Table_2
ON condition


12.4 – rasm. Full outer join operatorining Venn diagrammasi orqali ko’rinishi


Ishni bajarish tartibi

  1. SQL INNER JOIN operatori

So`rov: SELECT *FROM zavod_xodimlari
INNER JOIN kon_xodimlari
ON zavod_xodimlari.FISH=kon_xodimlari.FISH;
Natija:

12.5 - rasm. Inner join qo’llanishi natijasi
2. LEFT JOIN operatori
So`rov: SELECT * FROM zavod_xodimlari
LEFT JOIN kon_xodimlari
ON zavod_xodimlari.manzili = kon_xodimlari.manzili;
Natija:

12.5 - rasm. Left join qo’llanishi natijasi



  1. RIGHT JOIN operatori

So`rov: SELECT *FROM zavod_xodimlari
RIGHT JOIN kon_xodimlari
ON zavod_xodimlari.oyligi = kon_xodimlari.oyligi;
Natija:

12.6 – rasm. Right join qo’llanishi natijasi
3. CROSS JOIN operatori
So`rov: SELECT *FROM zavod_xodimlari
CROSS JOIN kon_xodimlari
ON zavod_xodimlari.ish_staji = kon_xodimlari.ish_staji;
Natija:

12.7– rasm. Cross join qo’llanishi natijasi
4. FULL OUTER JOIN operatori:
So`rov: SELECT *FROM zavod_xodimlari
FULL OUTER JOIN kon_xodimlari
ON zavod_xodimlari.FISH=kon_xodimlari.FISH;
Natija:
12.1– jadval. Full outer join qo’llanishi natijasi

Xodim_id

FISH

manzili

lavozimi

Ish_staji

oyligi

1

Eshbotayev Sardor

Lalmikor

Tegirmon mashinisti

10

7000000

2

Abirov Dilshod

Marjonbuloq

Labaratoriya mu

15

9000000

3

Narzullayev Oybek

Lalmikor

Boyitish ishlari boyich

15

10000000

4

Soliyev Elmurod

Marjonbuloq

Xavsizlik ishlari

10

7000000

5

Muhammadiyev Begzod

Olmali

Gruz mashinisti

12

8000000

6

Duvlonov Bunyod

Lalmikor

Ekalogiya va atrof mu

16

10000000

7

Shobotayev Shahzod

Oqtosh

Loyiha ishlari muhand

14

9000000

1

Aliyev Sarvar

Lalmikor

Burgulash mashinisti

10

7000000

2

Berdiyorov Bunyod

Mullabuloq

Bosh loyihachi

15

9000000

4

Mamirov Shahzod

Gobdin

Gruz mashinisti

12

8000000

5

Abirqulov Alisher

Moltob

Tashish mashinisti

10

7000000

Vazifalar

  1. Yuqorida ko`rsatilganlardan foydalanib tanlangan variyantga muvofiq mavzu uchun MySQL da INNER JOIN, LEFT JOIN, RIGHT JOIN, CROSS JOIN, FULL OUTER JOIN va ON standat so`zilari bilan ishlang.

  2. Bajarilgan ishlar haqida hisobot tayyorlang (1-2-ilovalarga qarang).



Nazorat savollari

  1. SQL tilidagi qanday JOIN larni bilasiz?

  2. INNER JOIN qanday vazifani bajaradi?

  3. LEFT JOIN qanday vazifani bajaradi?

  4. RIGHT JOIN qanday vazifani bajaradi?

  5. CROSS JOIN qanday vazifani bajaradi?

  6. FULL OUTER JOIN qanday vazifani bajaradi?



13 - LABORATORIYA ISHI
Mavzu: Murakkab so‘rovlar yaratish. TOP, LIMIT yoki ROWNUM


Ishdan maqsad: Berilgan predmet soha ma`lumotlar bazasidan foydalanib TOP, LIMIT yoki ROWNUM lardan foydalanishni o`rganish.
Masalani qo`yilishi: Predmet soha ma`lumotlar bazasi shakllantirilgandan so`ng undan unumli foydalanishni tashkil etish maqsadida TOP, LIMIT yoki ROWNUM lar orqali so`rovlar yaratish.
Uslubiy ko`rsatmalar: SQL LIMIT va SQL TOP operatorlarining vazifasi belgilangan satrlarni chaqirishdan iborat. SQL TOP operatori MS SQL Serverda ishlaydi, SQL LIMIT operatori esa MySQLda va Oracle da ROWNUM operatori ishlaydi ularnig vazifasi bir hil.
SQL Server / MS Access Syntax:
SELECT TOP number|percent column_name(s)
FROM table_name
WHERE condition;
MySQL Syntax:
SELECT column_name(s)
FROM table_name
WHERE condition
LIMIT number;
Oracle Syntax:
SELECT column_name(s)
FROM table_name
WHERE ROWNUM <= number;

Misol. MS SQL Serverda ishlash


SELECT TOP 3 * FROM Customers;

Misol. SQL da ishlash


SELECT * FROM Customers
LIMIT 3;

Misol. Oracleda ishlash


SELECT * FROM Customers
WHERE ROWNUM <= 3;


Ishni bajarish tartibi
Avvalgi bajargan korpus nomli jadvalni chaqirib olamiz.
SELECT * FROM korpus;

  1. So`rov: SELECT * FROM  korpus LIMIT 3;

Buyrug`ini kiritamiz natijada birinchi uchta satr hosil bo`ladi
Natija:

13.1 – rasm. Limit operatori orqali 3 ta qatorni ekranga chiqarish

  1. So`rov: Select * korpus_nomi FROM korpus LIMIT  2,3;

Buyrug`ini yozamiz, natijada 2, 3 satrlar hosil bo`ladi.
Natija:

13.2 – rasm. Limit operatori orqali 2,3 qatorni ekranga chiqarish



  1. So`rov: SELECT *  korpus_nomi FROM korpus

ORDER BY korpus_nomi DESC LIMIT  2,3;
Natija:

13.3 rasm
Vazifalar

  1. Yuqorida ko`rsatilganlardan foydalanib tanlangan variyantga muvofiq mavzu uchun MySQL da murakkab so`rovlar yaratish.

  2. Bajarilgan ishlar haqida hisobot tayyorlang (1-2-ilovalarga qarang).



Nazorat savollari

  1. Murakkab so‘rovlar yaratish ushun qaysi operatorlardan foydalanish mumkin

  2. TOP operatorining vazifasi va u qaysi dasturda ishlaydi?

  3. LIMIT operatorining vazifasi va u qaysi dasturda ishlaydi?

  4. ROWNUM operatorining vazifasi va u qaysi dasturda ishlaydi?



14 - LABORATORIYA ISHI


Mavzu: SQL tilida INDEX yaratish

Ishdan maqsad: MySQL maxsus ustun qiymatlariga ega qatorlarni tezda topish uchun indekslardan foydalanishni o`rganish.
Masalani qo`yilishi: Bu laboratoriya ishida MySQL indekslari, shu jumladan indekslarni yaratish, indekslarni o'chirish, jadvalning barcha indekslarini sanab o'tish va MySQLda boshqa muhim ko'rsatkichlar bilan ishlanadi.
Uslubiy ko`rsatmalar: MySQL maxsus ustun qiymatlariga ega qatorlarni tezda topish uchun indekslardan foydalanadi. Indekssiz MySQL tegishli satrlarni topish uchun butun jadvalni skanerdan o'tkazishi kerak. Jadval qanchalik katta bo'lsa, u sekinroq qidiradi.
Indekslarni yaratish(creating indexes) - sizni indeks tushunchasi bilan tanishtiradi va jadvalning bir yoki bir nechta ustunlari uchun indeks qanday yaratilishini ko'rsatib beradi.
Indekslarni o'chirish(removing indexes)- jadvalning mavjud indeksini qanday olib tashlashni ko'rsatib beradi.
Jadval indekslarini ro'yxatlash(listing table indexes) - barcha indekslarni yoki jadvalning o'ziga xos indekslarini ro'yxat qilish to'g'risida ma'lumot beradi.
Noyob indekslar(unique indexes) - ustunlarda saqlanadigan aniq qiymatlarni ta'minlash uchun noyob indekslardan foydalanadi.
Prefiks indekslari(frefix indexses) - belgilar qatori ustuniga indeks yaratish uchun prefiks indeksidan qanday foydalanishni ko'rsatib beradi.
Ko'rinmas indekslar (invisible indexes) - indeks ko'rinishini qamrab oladi va indeksni ko'rinadigan yoki ko'rinmas qilib ko'rsatishni ko'rsatadi.
Kichik indekslar (descending indexes) - so'rov samaradorligini oshirish uchun pasayadigan indekslardan qanday foydalanishni ko'rsatib beradi.
Kompozit indekslar (composite indexes) - kompozit indekslarning qo'llanilishini tasvirlaydi va sizning so'rovlaringizni tezlashtirish uchun ularni qachon ishlatishingizni ko'rsatadi.
Klasterli indekslar (clustered indexes) - InnoDB jadvallaridagi klasterlangan indekslarni tushuntiradi.
Indeksning kardinalligi (index cardinatily) - indeksning kardiologiyasini tushuntiradi va shou indekslari buyrug'i yordamida uni qanday ko'rishni ko'rsatib beradi.
FOYDALANISH INDEX (use index hint) - jadvalda satrlarni topish uchun so'rovlar optimallashtiruvchisiga belgilangan indekslarning yagona ro'yxatidan foydalanishni ko'rsatishda USE INDEX maslahatini qanday ishlatishni ko'rsatib beradi.
FORCE INDEX hint - jadvaldan ma'lumotlarni tanlash uchun so'rov optimizatorini belgilangan indekslardan foydalanishga majbur qilish uchun FORCE INDEX ko'rsatmalaridan qanday foydalanishni ko'rsatib beradi.
Quyida bazi asosiy so’rovlar sintaksisi bilan tanishamiz:

Yüklə 7,78 Mb.

Dostları ilə paylaş:
1   ...   31   32   33   34   35   36   37   38   ...   56




Verilənlər bazası müəlliflik hüququ ilə müdafiə olunur ©azkurs.org 2024
rəhbərliyinə müraciət

gir | qeydiyyatdan keç
    Ana səhifə


yükləyin