Маълумотлар омбори ва уни бошкариш тизими хакида умумий тушунчалар



Download 2,75 Mb.
bet61/83
Sana18.07.2022
Hajmi2,75 Mb.
#819472
1   ...   57   58   59   60   61   62   63   64   ...   83
Bog'liq
MBBT-маъруза матни-лотин1

2.Hisoblanadigan ustunlar.


SQL so’rovi bevosita MBdagi qiymatlardan iborat ustunlardan tashqari MBda saqlanuvchi qiymatlar asosida hisoblanadigan ustunlardan ham tashkil topadi. Hisoblanadigan ustunni olish uchun natija sifatida qaytariladigan qiymatlar ro’yxatiga ifodani qo’yish lozim. Oldingi qismlarda aytib o’tilganidek, ifoda qo’shish, ayirish, ko’paytirish, bo’lish operastiyalaridan tashkil topadi. Ifodalarda qavslarni ham ishlatish mumkin. Arifmetik ifodalarda qatnashuvchi ustunlar , albatta sonli qiymatlarni saqlashi lozim. Matnli ma’lumotlar ustida qo’shish, ko’paytirish, ayirish yoki bo’lish amallari bajarilsa xatolik haqida xabar chiqariladi.
Quyidagi so’rovda oddiy hisoblanuvchi ustun keltirilgan .

  • Har bir ofis haqida u joylashgan shahar region va rejadan oshgan, rejaga etishmaydigan, bajarilgan savdo hajmi haqida ma’lumot chiqaring.

SELECT city, region, (sales-target)
FROM offices

city

region

sales-target

--------

-------

--------

Denver

Western

$113,958.00

New york

Eastern

$117,637.00

Chicago

Eastern

$64,968.00

Atlanta

Eastern

$17,911.00

Los angeles

Western

$110,915.00

Bu so’rovni bajarish uchun OFFICES jadvalining har bir satri uchun bitta natija satri tuziladi. So’rov natijasining birinchi 2 ta ustuni qiymati bevosita OFFICES jadvalidan olinadi. 3-ustun so’rov natijasining har bir satri uchun OFFICES jadvali ustunlarining joriy satrlari qiymatlari asosida hisoblanadi. quyida hisoblanuvchi ustun ishlatiladigan boshqa so’rovlarga misollar keltirilgan .
Xar bir tovarning umumiy qiymatini chiqaring.
SELECT mfr_id, product_id, description, (qty_on_hand*price)
FROM products

mfr_id

product_id

descreption

(qty_on_hand*price)

---

-----

-----

----------

REI

2A45C

Ratchet Link

$79.00

ACI

41004

Widget Remover

$2.750.00

QSA

XK47

Reduser

$355.00

BIC

41672

late

$180.00

IMM

779C

900-ibBrase

$1,875.00

ACI

41003

Size 3 widget

$107,00

ACI

41004

Size 4 Widget

$117.00

BCI

41003

Handle

$652.00

  • Agarda xar bir xizmatchining rejadagi savdo hajmi uning bajargan savdo hajmining 3 % iga oshirilsa, uning rejadagi savdo hajmi qanchaga teng bo’ladi.

SELECT name, quota, (quota*(0.03*sales))
FROM salesreps

name

Quota

(quota*(0.03*sales))

------

-------

-----------

Bill Adams

$350,000.00

$361,037.33

Mary Jones

$300,000.00

$311,781.75

Sue Smith

$350,000.00

$364,221.50

Sam Slark

$275,000.00

$283,997.36

Bob Smith

$200,000.00

$204,277.82

Dan Roberts

$300,000.00

$309,170.19

Tom Snyder

NULL

NULL

Larry Fitch

$350,000.00

$360,855.95


3.Qaytariladigan qiymatlar (DISTINCT kalitli so’zi)


Agarda o’qish so’rovining qaytariladigan qiymatlar ustida jadvalning birlamchi kalitini ko’rsatsak so’rov natijasining har bir satri unikal bo’ladi.



  • Ofisning barcha menenjerlari haqida ma’lumot chiqaring

SELECT MGR
FROM OFFICES

MGR

----

108

106

104

105

108

SELECT DISTINCT MGR


FROM OFFICES

MGR

----

106

104

105

108

Bu so’rov quyidagi tarzda bajariladi. Oldin barcha natijaviy satrlar generastiya qilinadi, undan keyin esa boshqasini takrorlaydigan ustunlar o’chiriladi. Agarda DISTING kalit so’zi ko’rsatilmagan bo’lsa takrorlanadigan satrlar o’chirilmaydi.

4. Qiymatni biror diapazonga tegishlilik shartini tekshirish (BETWEEN)





  • 1989 yilning oxirgi kvartalida berilgan barcha buyurtmalarni toping

SELECT ORDER_NUM, ORDER_DATE, MFR, PRODUCT, AMOUNT
FROM ORDERS
WHERE ORDERS_DATE BETWEEN ’01-OCT-89’ AND ’31-DEC-89’

ORDER_NUM

ORDER_DATE

MFR

PRODUCT

AMOUNT

------

------

--

----

----

112961

17-DEC-89

REI

2A44L

$31,500.00

112968

12-OCT-89

ACI

41004

$3,276.00

112963

17-DEC-89

ACI

41004

$702.00

112983

27-DEC-89

ACI

41004

$15,000.00

112979

12-OCT-89

ACI

41007

$760.00

112992

04-NOV-89

ACI

41008

$R,100.00

112975

12-OCT-89

REI

2A44G

$3,276.00

112987

31-DEC-89

ACI

41004

$27,500.00




  • Narxi ko’rsatilgan diapazonda yotuvchi buyurtmalar haqidagi ma’lumotlarni chiqaring.

SELECT ORDER_NUM, AMOUNT
FROM ORDERS
WHERE AMOUNT BETWEEN 30000.00 AND 39999.99

ORDER_NUM

AMOUNT

-------------

-------------

112961

$1,500.00

113069

$31,350.00

SELECT ORDER_NUM, AMOUNT
FROM ORDERS
WHERE AMOUNT BETWEEN 40000.00 AND 49999.99

ORDER_NUM

AMOUNT

------------

------------

113045

$45,000.00




  • Bajargan savdo hajmi 80% dan – 120% gacha diapazonda yotmaydigan xodimlar ro’yxatini chiqaring.

SELECT NAME ,SALES , QUOTA
FROM SALESREPS
WHERE SALES NOT BETWEEN (0.8*QUOTA) AND (1.2*QUOTA)

NAME

SALES

QUOTA

-------

-------

--------

MARY JONES

$392,475.00

$300,000.00

SUE SMITH

$474,050.00

$350,000.00

BOB SMITH

$142,594.00

$200,000.00

NANCY ANGELLI

$186,042.00

$300,000.00



5. WHERE kalit so’zi

WHERE kalit so’zi SELECT operatori yordamida ma’lumotlarni ajratib olishda kiymatlar bo’yicha shart kiritish uchun ishlatiladi. Quyidagi operatorni kiritamiz:


SELECT * FROM REGIONS WHERE Zip = 8324
Natijada bitta qator tanlanadi va Zip ustunidagi kiymati 8324 ga teng bo’ladi.
Keyingi keltirilayotgan operatorda REGIONS jadvalidagi qatorlarni sanash REGION ustuni “Gijduvan” bilan boshlanadigan shart asosida bo’ladi.

SELECT COUNT(*) FROM REGIONS WHERE Region LIKE 'Gijduvan%'


Natijada 1 qiymati qayd etiladi.
SELECT operatorining WHERE kalit so’zi bilan keladigan yana bir nechta variantlarini ko’ramiz.
SELECT COUNT(*) FROM REGIONS WHERE Zip BETWEEN 8300 AND 8320
Bu erda Zip maydoni 8300 dan 8320 gacha diapazonda bo’lgan qatorlar soni aniqlanadi.
SELECT * FROM REGIONS WHERE Zip IN (8300,8310,8320)
Bu erda zip maydonining qiymati IN so’zidan keyin turgan qiymatlardan biriga teng bo’lgan qatorlar tanlanadi.

SELECT MAX(Zip) FROM REGIONS WHERE Region IS NOT NULL


Bu operatorda REGIONS jadvalining Zip maydonidagi eng katta qiymatga ega bo’lgan qator Region maydonidagi qandaydir qiymatga ega bo’lgan qatorlar orasidan tanlanadi.

SELECT * FROM REGIONS WHERE Region LIKE 'Gijduvan%' AND City = 'Gishti'


Bu erda Region maydoning qiymati “Gijduvan” bilan boshlanadigan va City maydoning qiymati “Gishti” ga teng bo’lgan qatorlar tanlanadi.


6. Birlashtirish
WHERE kalit so’zining yana bir qo’llanish sohalaridan biri jadvallarni mantiqiy birlashtirishdan iborat. Birlashtirish amali ikki etapda amalga oshiriladi: avval FROM kalit so’zi yordamida SELECT operatoridagi jadvallar birlashtiriladi, keyin esa WHERE kalit so’zi orqali jadvallarni kerakli maydon bo’yicha birlashtiriladi.
Quyidagi misolni ko’ramiz:
SELECT STAFF.LastName, STAFF.FirstName, STAFF.FatherName, REGIONS.City
FROM STAFF, REGIONS
WHERE STAFF.Zip = REGIONS.ZIP

Bu operator bajarilishi natijasida to’rtta maydondan iborat qator chiqariladi: Jo’raev, Azamat, Nosirovich, Gishti. Bu erda STAFF va REGION jadvallari Zip ustuni bo’yicha birlashtirilgan. WHERE shartida tenglikdan chap tomonda turgan jadval tashqi (outer), o’ng tomonda turgan jadval esa ichki (inner) jadval deyiladi.Yuqoridagi keltirilgan birlashtirish ichki birlashtirish (inner join) deyiladi.


Bundan tashqari birlashtirish tashqi (outer join) bo’lishi ham mumkin.
Bundan tashqari shartga bog’liq bo’lmagan qatorlar ham keltiriladi, birlashtirish shartiga mos kelmagan barcha maydonlar NULL qiymatini beradi.
Tashqi va ichki birlashtirishning ANSI sintaksisi quyidagi ko’rinishga ega.
SELECT Tablel.Columnl, Table2.Column2
FROM Tablel OUTER [INNER] JOIN Table2
ON Tablel.Columnl = Table2.Column3


7. Ichma-ich so’rovlar
Ichma-ich so’rovlar — bu shunday SELECT operatorlariki, WHERE kalit so’zidan keyin ham SELECT operatori ishlatiladi.
Misol keltiramiz:
SELECT * FROM STAFF
WHERE PosID IN (SELECT PosID FROM POSS
WHERE PosLevel BETWEEN 1 AND 3)

Bu operatorda oldin ichki so’rov bajariladi, unda lavozim identifikatori 1,2 yoki 3 ga teng bo’lgan yozuvlar tanlanadi, so’ngra STAFF jadvalidan PosID maydonining qiymati oldingi so’rovda aniqlangan naborga mos keladigan qatorlar tanlanadi.


8. GROUP BY amali
SQL da GROUP BY amali orqali ma’lum bir maydonlar bo’yicha guruxlash amalga oshiriladi. Odatda bu amal SELECT operatorining oxirgi maydoni sifatida matematik funkstiya ishlatilganda qo’llaniladi.
Misol keltiramiz:
SELECT DEPS.DeptFullName, SUM(STAFF.Salary)
FROM DEPS, STAFF
WHERE STAFF.DepID = DEPS.DeptID
GROUP BY DEPS.DeptFullHame
Bu operatorda xodimlar maoshining summasi bo’limlar bo’yicha guruxlanib hisoblanadi. Bunda STAFF va DEPS jadvallari birlashtirilayapti. Chunki STAFFda bo’limning faqat identifikatori saqlanadi.
Yana bitta guruxlash amaliga doir misol ko’ramiz:

SELECT LastName, COUNT(*) FROM STAFF


GROUP BY LastName
Bu operator yordamida STAFF jadvalidagi bir familiyali xodimlar soni aneqlanadi.



Download 2,75 Mb.

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




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