Бизга малумки хозирги вақтда бббт (Берилганлар базасини бошқариш тизимлари) жуда юқори суръатда ривожланмоқда
Download 347 Kb.
|
1 2
Bog'liqMB 7-amaliy ish
- Bu sahifa navigatsiya:
- SQL UNION ga misol
- SQL UNION ALL misol
- SQL UNION WHERE bilan ishlatish
- SQL UNION ALL WHERE bilan ishlatish.
- Kesishuv sorovi
- Misol. Quyida bir xil malumotlar turiga ega bitta maydonga ega SQL INTERSECT operatori misoli keltirilgan
- Minus sorov
- Sintaksisi
- Misol. Quyida bir xil malumotlar turiga ega bitta maydonga ega SQL MINUS operatori misoli keltirilgan
UNION ALL sintaksisi:Operator UNION bo'yicha faqat alohida qiymatlarni tanlaydi. Ikki nusxadagi qiymatlarga ruxsat berish uchun foydalaning UNION ALL: SELECT column_name(s) FROM table1 UNION ALL SELECT column_name(s) FROM table2; Eslatma: Natijalar to'plamidagi ustun nomlari odatda birinchi SELECT bayonotdagi ustun nomlariga teng. Quyida "Mijozlar" jadvalidan tanlov mavjud:
Va "Yetkazib beruvchilar" jadvalidan tanlov:
SQL UNION ga misol:Quyidagi SQL bayonoti "Mijozlar" va "Yetkazib beruvchilar" jadvalidagi shaharlarni (faqat alohida qiymatlarni) qaytaradi: Misol:SELECT City FROM Customers UNION SELECT City FROM Suppliers ORDER BY City; Eslatma: Agar ba'zi mijozlar yoki yetkazib beruvchilar bir xil shaharga ega bo'lsa, har bir shahar faqat bir marta ro'yxatga olinadi, chunki UNIONfaqat alohida qiymatlarni tanlaydi. UNION ALLIkki nusxadagi qiymatlarni tanlash uchun ham foydalaning ! SQL UNION ALL misol:Quyidagi SQL bayonoti "Mijozlar" va "Yetkazib beruvchilar" jadvalidagi shaharlarni (shuningdek takroriy qiymatlarni) qaytaradi: Misol:SELECT City FROM Customers UNION ALL SELECT City FROM Suppliers ORDER BY City; SQL UNION WHERE bilan ishlatish:Quyidagi SQL bayonoti "Mijozlar" va "Yetkazib beruvchilar" jadvalidan Germaniya shaharlarini (faqat alohida qiymatlarni) qaytaradi: Misol:SELECT City, Country FROM Customers WHERE Country='Germany' UNION SELECT City, Country FROM Suppliers WHERE Country='Germany' ORDER BY City; SQL UNION ALL WHERE bilan ishlatish.Quyidagi SQL bayonoti "Mijozlar" va "Yetkazib beruvchilar" jadvalidan Germaniya shaharlarini (shuningdek takroriy qiymatlar) qaytaradi: Misol:SELECT City, Country FROM Customers WHERE Country='Germany' UNION ALL SELECT City, Country FROM Suppliers WHERE Country='Germany' ORDER BY City; SQL INTERSECT operatori 2 yoki undan ortiq SELECT operatori natijalarini qaytarish uchun ishlatiladi. Biroq, u faqat barcha so'rovlar yoki ma'lumotlar to'plamlari tomonidan tanlangan qatorlarni qaytaradi. Agar bitta so'rovda yozuv mavjud bo'lsa, ikkinchisida bo'lmasa, u INTERSECT natijalaridan olib tashlanadi. Kesishuv so'roviIzoh: INTERSECT so'rovi ko'k rangdagi maydondagi yozuvlarni qaytaradi. Bular Dataset1 va Dataset2 da mavjud yozuvlar. SQL INTERSECT ichidagi har bir SQL bayonoti o'xshash ma'lumotlar turlariga ega bo'lgan natijalar to'plamida bir xil miqdordagi maydonlarga ega bo'lishi kerak. SintaksisSQL da INTERSECT operatori sintaksisi: SELECT expression1, expression2, ... expression_n FROM tables [WHERE conditions] INTERSECT SELECT expression1, expression2, ... expression_n FROM tables [WHERE conditions]; Yozuvlarni olmoqchi bo'lgan jadvallar. FROM bandida kamida bitta jadval bo'lishi kerak. WHERE shartlari Ixtiyoriy. Bular yozuvlarni tanlash uchun bajarilishi kerak bo'lgan shartlardir. EslatmaIkkala SELECT iborasida bir xil miqdordagi iboralar bo'lishi kerak. SELECT iboralarida mos keladigan iboralar bir xil maʼlumotlar turiga ega boʻlishi kerak. Masalan: ifoda1 birinchi va ikkinchi SELECT iboralarida bir xil ma'lumotlar turi bo'lishi kerak . Misol. Quyida bir xil ma'lumotlar turiga ega bitta maydonga ega SQL INTERSECT operatori misoli keltirilgan:SELECT supplier_id FROM suppliers INTERSECT SELECT supplier_id FROM orders; Ushbu SQL INTERSECT misolida, yetkazib beruvchilar va buyurtmalar jadvalida yetkazib beruvchi_identifikatori paydo bo'lsa , u natijalar to'plamida paydo bo'ladi. Keling, INTERSECT so'roviga WHERE shartlarini qo'shish orqali misolimizni yanada murakkablashtiramiz. SELECT supplier_id FROM suppliers WHERE supplier_id > 78 INTERSECT SELECT supplier_id FROM orders WHERE quantity <> 0; Ushbu misolda ma'lumotlar to'plamining har biriga WHERE bandlari qo'shilgan. Birinchi ma'lumotlar to'plami filtrlangan bo'lib, faqat yetkazib beruvchilar jadvalidagi yetkazib beruvchilar_id raqami 78 dan katta bo'lgan yozuvlar qaytariladi. Ikkinchi ma'lumotlar to'plami filtrlangan, shuning uchun buyurtmalar jadvalidagi faqat miqdor 0 ga teng bo'lmagan yozuvlar qaytariladi. SQL MINUS operatori birinchi SELECT bayonotidagi ikkinchi SELECT operatori qaytarmagan barcha qatorlarni qaytarish uchun ishlatiladi. Har bir SELECT bayonoti ma'lumotlar to'plamini belgilaydi. MINUS operatori birinchi ma'lumotlar to'plamidagi barcha yozuvlarni oladi va keyin natijalardan ikkinchi ma'lumotlar to'plamidagi barcha yozuvlarni olib tashlaydi. Minus so'rov:Izoh: MINUS so'rovi ko'k rangdagi maydondagi yozuvlarni qaytaradi. Bular Dataset2 da emas, Dataset1 da mavjud yozuvlar. MINUS so'rovidagi har bir SELECT iborasi o'xshash ma'lumotlar turlariga ega natijalar to'plamida bir xil miqdordagi maydonlarga ega bo'lishi kerak. Sintaksisi:SQL tilidagi MINUS operatori sintaksisi: SELECT expression1, expression2, ... expression_n FROM tables [WHERE conditions] MINUS SELECT expression1, expression2, ... expression_n FROM tables [WHERE conditions]; WHERE shartlari Ixtiyoriy. Bular yozuvlarni tanlash uchun bajarilishi kerak bo'lgan shartlardir. EslatmaIkkala SELECT iborasida bir xil miqdordagi iboralar bo'lishi kerak. SELECT iboralarida mos keladigan iboralar bir xil maʼlumotlar turiga ega boʻlishi kerak. Masalan: ifoda1 birinchi va ikkinchi SELECT iboralarida bir xil ma'lumotlar turi bo'lishi kerak . Misol. Quyida bir xil ma'lumotlar turiga ega bitta maydonga ega SQL MINUS operatori misoli keltirilgan:SELECT supplier_id FROM suppliers MINUS SELECT supplier_id FROM orders; Ushbu SQL MINUS misoli buyurtmalar jadvalida emas, balki yetkazib beruvchilar jadvalidagi barcha yetkazib beruvchi_id qiymatlarini qaytaradi. Buning ma'nosi shundaki, agar yetkazib beruvchilar jadvalida yetkazib beruvchi_id qiymati va buyurtmalar jadvalida ham mavjud bo'lsa, yetkazib beruvchi_id qiymati ushbu natijalar to'plamida ko'rinmaydi. Download 347 Kb. Do'stlaringiz bilan baham: |
1 2
Ma'lumotlar bazasi mualliflik huquqi bilan himoyalangan ©fayllar.org 2024
ma'muriyatiga murojaat qiling
ma'muriyatiga murojaat qiling