Baza bilan ishlash



Download 3,27 Mb.
bet15/44
Sana23.07.2022
Hajmi3,27 Mb.
#840579
1   ...   11   12   13   14   15   16   17   18   ...   44
Bog'liq
malumotlar bazasi 1-8 maruzalar

Nazorat uchun savollar:

  1. SQL tili tushunchasi?

  2. SQL funksiyasi qanday ishlatilati?

  3. Guruhlash funksiyalarini sanab bering?

  4. Hisoblash funksiyalarini sanab bering?

  5. Tartiblash funksiyalarini sanab bering?

Foydalaniladigan adabiyotlar ro‘yxati
1.Ramez Elmasri, Shamkant B.Navathe. Fundamentals of Database Systems (7th Edition). Pearson. USA, 2015.
2.M.T.Azimjanova, Muradova, M.Pazilova. Informatika va axborot texnologiyalari. O‘quv qo‘llanma. Т.: "O‘zbekiston faylasuflari milliy jamiyati", 2013 y.
3.Holmatov T.X., N.I.Tayloqov. Amaliy matematika, dasturlash va kompyuterning dasturiy ta'minoti. O‘quv qo‘llanma. Т.: "Mehnat", 2000 y.
4.S.S.Qosimov Axborot texnologiyalar O‘quv qo‘llanma. T.:"Aloqachi", 2006 y.
4-MAVZU: SQL – SELECT INSTRUKSIYASINING KENGAYTIRILGAN IMKONIYATLARI FUNKSIYALARI.
REJA:
1. SQL tili.
2. SQL select instruksiyasining kengaytirilgan imkoniyatlari funksiyalari.
3. Funksiyalarni qo’llash imkoniyati
Tayanch so‘z va iboralar. SQL, SQL tili, funksiyal, structured query language, mbbt, "klient-server" oracle, interаktiv, ddl, dml, dcd, select. va h.k.

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
Здесь 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
Здесь 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') - 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!
SQL so'rov tilini o'rganishni boshlaymiz. Har bir maqolada ma'lum bir sql komandalarini yozib borishga harakat qilaman. Bu so'rov tili bevosita ma'lumotlar bazasi(jadvallar)ga bog'liq bo'lgani uchun, maqola boshida biror jadvalni olib, shu jadvalga har xil so'rovlar berib boraman.
Misollar, oracle ning isqlplus muhitida sinab boriladi va natijalar chiqariladi. Isqlplus dan boshqa muhitlarda ham bu komandalar ishlaydi, lekin ba'zi o'zgarishlar bo'lishi mumkin(sqlplus, mysql). Komandalarni, o'rganishga qulay va soddadan qiyinga ko'tarilib borish tartibida ko'rsatib boraman. Iloji boricha to'liq ma'lumot berishga xarakat qilaman.
Bu maqolada quyidagi jadvaldan foydalanamiz.

Bu jadval " misol" deb nomlanib, 4 ta ustun va 6 ta qatordan iborat. YUqoridagi qatorda faqat qator nomlari aks ettirilgan, ular ma'lumot vazifasini bajarmaydi. 5 ta qatordan iborat ma'lumot, bizning jadvalimizda joylashgan va biz bu ma'lumotlarni sql so'rov tili orqali har xil ko'rinishda chiqarib olishimiz mumkin. Albatta haqiqiy ma'lumotlar bazasida bunday kam ma'lumotlar saqlanmaydi, biz misollarni shu kichik ma'lumotlarda bajaramiz.
Demak birinchi komanda bu – SELECT.
select * from misol;
Bu so'rovning ma'nosi, " misol" jadvalidagi barcha ma'lumotlarni chiqar deganidir. "*" barcha ustunlardagi ma'lumotlarni degani. "select" – esa ekranga chiqar degani. Natijani ko'ramiz:

Agar bizga barcha ustun ma'lumotlar emas, faqatgina ba'zi birlari kerak bo'lsa, kerakli ustun nomlarini vergul orqali nomma nom yozamiz.
select name, surname, year from misol;
Natija:

Ma'lumotlar bazasidan, ma'lumotlarni chiqarishda mantiqiy amallar orqali( + , — , * ,/ ,() ), ma'lumotlarga o'zgartirish kiritib, ekranga chiqarishimiz mumkin bo'ladi.


select name, year+15, num*10 from misol;
Natijani ko'rsangiz, so'rov tili orqali, ma'lumotlarni o'zgartirganimizni ko'rishingiz mumkin bo'ladi.

yoki bo'lmasa quyidagicha
select year+10*num, name from misol;

Agar bazadagi ustun nomlari sizga yoqmasa, siz ularni o'zingiz hohlaganday nom bilan ekranga chiqarishingiz mumkin bo'ladi, bunda ma'lumotlar bazasidagi ustun nomlari o'zgarmaydi, faqat ekranda o'zgargan ko'rinishi chiqadi. Bunda bizga " as" kalit so'zi yordam beradi.
select name as ism, surname as familiya from misol;

Agar nomlarni qo'shtirnoq ichiga olsangiz, qo'shtirnoqdagi katta kichik harflar farqli bo'lib qoladi.
select name as "IsM", surname as "FamiliyA" from misol;

Agar 2 ta ustun natijalarini birlashtirib, ekranga chiqarmoqchi bo'lsangiz "||" belgisidan foydalanishingiz mumkin bo'ladi.
select year||num, name from misol;

yoki
select year||'OK'||num, name from misol;

Agar chiqarayotgan natijaning davomiga qandaydir belgilar(qo'shtirnoq, vergul, nuqta) chiqarmoqchi bo'lsangiz, maxsus "q" va qo'shtirnoq belgilari orasiga kerakli belgilarni yozishingiz mumkin bo'ladi.
select name||q'[ , so? it's ]' from misol;



Download 3,27 Mb.

Do'stlaringiz bilan baham:
1   ...   11   12   13   14   15   16   17   18   ...   44




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