Cname
|
Sname
|
city
|
Shavkat
|
Maqsud
|
Nukus
|
Rustem
|
Nodir
|
Ellikqala
|
Babur
|
Ahmet
|
Beruniy
|
Uluǵbek
|
Ǵayrat
|
Xojeli
|
Murat
|
Aziz
|
Tortkul
|
Jasur
|
Sadiq
|
Kong’irat
|
Jeke satuwshi xizmet korsetetuvin hámme buyurtpashilardi biliw ushın tómendegi sorawni orinlaw múmkin.
SELECT Customers.cname, Salespeople.sname
FROM Customers, Salespeople
WHERE Salespeople.snum= Customers.snum;
Cname
|
sname
|
Shavkat
|
Maqsud
|
Rustem
|
Nodir
|
Babur
|
Ahmet
|
Uluǵbek
|
Ǵayrat
|
Murat
|
Aziz
|
Jasur
|
Sadiq
|
Joqarida kórip ótilgen misallarda isletilgen predikatlar teńlik ameli jardeminda orinlanadi hám soniń ushın olar ózara teńlik birlestiriwleri deb juritiledi. Uluwma alǵanda maǵliwmatlardi birlestiriwde istelgen relyacion amellerden paydalaniw múmkin. Maselen, bir qalada jasawshi barshe buyurtpashilardi olarǵa xizmet korsetiwshi, reytińi 200 den kam bolǵan satiwshilar menen birgelikda hámde bul satiwshi namlarini alfavit tartibinde shiǵariw talab etilsin. Oni tómendegi soraw tiykarinda amelge asiriladi.
SELECT sname, cname FROM Salespeople, Customers
WHERE sname
Sname
|
Cname
|
Shavkat
|
Maqsud
|
Rustem
|
Nodir
|
Babur
|
Ahmet
|
Uluǵbek
|
Ǵayrat
|
Murat
|
Aziz
|
Jasur
|
Sadiq
|
Kestedagi ustunlerdegi maǵliwmatlar tartiblenmegen maǵliwmat tóplaminnan ibarat. SQL tilinda keste manislerin tartiblengen halda shap etiw imkaniyatlari bar. Oniń ushın ORDER BY predikatinda ASC (ósiw) hám DESC (kameyiw) gilt sózleri isletiledi. Maselen, buyurtpashiniń tartiblengen cifralari (cnum) arqali buyurtpalardi qabil etiw processin tómendegishe sawlelendiriw múmkin.
SELECT * FROM Orders ORDER BY cnum DESC;
Onum
|
amt
|
Odate
|
cnum
|
Snum
|
3001
|
10600.60
|
10/03/2014
|
2008
|
1007
|
3006
|
12500.20
|
21/03/2014
|
2007
|
1008
|
3003
|
25000.25
|
05/01/2015
|
2006
|
1009
|
3008
|
60200.80
|
09/02/2015
|
2004
|
1010
|
3009
|
45000.40
|
20/03/2015
|
2009
|
1003
|
3011
|
54000.70
|
24/03/2015
|
2001
|
1002
|
Eki hám onnan artiq kestelerdi bir soraw operatorinda birlestirip keste payda etiledi. Ayrim hallarda kestelardiń ózini-ózi menen birlestiriwge tuvri keledi.
Quramali sorawlar jardeminda MB dan maǵliwmatlardi alıw.
SQL tilindegi sorawlar basqa sorawlardi hám basqariw imkaniyatina iye. Onday basqariwlar tómen sorawlar jardeminda amelge asiriladi, yaǵniy sorawlardi ishme-ish jaylastiriw múmkin. Onday sórawlarda ishki sorawlar bir manisti generaciya qilip, bul manislar sirtqi soraw tekshiriwlerinda qatnasadi. Maselen, satiwshiniń atini bilemiz (Anvar), biraq oniń identifikacion raqamin (snum) ni bilmeymiz bunda Anvardiń barshe buyurtpalari tekstke shiǵariwimiz kerek boladi. Oni tómendegi soraw arqali amelge asiramiz:
SELECT * FROM orders
WHERE snum= (SELECT snum FROM Salespeople
WHERE sname = ‘Anvar’);
Onum
|
Amt
|
Odate
|
Cnum
|
Snum
|
3002
|
20600.20
|
10/03/2015
|
2007
|
1004
|
3005
|
28900.70
|
18/03/2015
|
2009
|
1006
|
3007
|
36800.80
|
25/03/2015
|
2012
|
1009
|
Ayrim jagdaylarda tómen sorawlardin bir manisti beriwi ushın DISTINCT gilt sózinnen paydalaniw múmkin. Maselen: Jasur (cnum=2001) ǵa xizmet korsetuwshi satiwshini hám oǵan xarid tartiblerini aniqlawi zarur bolsin. Onda tómendegi soraw amelge asiriladi.
SELECT * FROM Orders
WHERE snum = (SELECT DISTINCT snum FROM Orders)
WHERE cnum = 2001;
Onum
|
Amt
|
Odate
|
Cnum
|
Snum
|
3003
|
15600.20
|
10/01/2015
|
2001
|
1001
|
3008
|
17800.20
|
10/02/2015
|
2001
|
1001
|
3011
|
19500.50
|
10/03/2015
|
2001
|
1001
|
3012
|
29400.40
|
10/03/2015
|
2001
|
1001
|
SQL tilindegi agregat funkciyalar bir manisli miqdarlardi hisoblaǵanliqlari ushın tómen sorawlarda islew múmkin: Maselen, 4-oktabrdegi xarid qilinǵan hám bahasi ortasha summadan joqari bolǵan mahsulatlardi koriw ushın tómendegi sorawlar orinlanadi.
SELECT * FROM Orders
WHERE amt>(SELECT AVG(amt) FROM Orders
WHERE odate = 10/03/2015
Tomem sorawlardi tashkillestiriwde arnawli operatorlardan (IN, BETWEEN, LIKE, IS NULL) dan hám paydalaniw múmkin.
Onum
|
Amt
|
Odate
|
Cnum
|
Snum
|
3002
|
15600.20
|
10/04/2015
|
2007
|
1004
|
3005
|
17800.20
|
10/04/2015
|
2003
|
1002
|
3006
|
19500.50
|
10/04/2015
|
2008
|
1007
|
3009
|
29400.40
|
10/04/2015
|
2002
|
1003
|
3008
|
24600.10
|
10/04/2015
|
2006
|
1001
|
3010
|
23900.50
|
10/04/2015
|
2004
|
1002
|
3011
|
29200.50
|
10/04/2015
|
2005
|
1006
|
3012
|
31300.80
|
10/04/2015
|
2009
|
1007
|
Tómen sorawlardi sholkemlestiriwde anlatpalardan hám paydalanamiz. Maselen, cnum maydani miqdari 1000 hám snum Serres maydani qiymeti miqdarinnan joqari bolǵan hámme buyurtpashilardiń dizimi shiǵarilsin:
SELECT * FROM Customers
WHERE cnum = (SELECT snum+1000 FROM Salespeople
WHERE sname = ‘Serres’);
Cnum
|
cnume
|
City
|
rating
|
snum
|
2002
|
Alisher
|
Samarqand
|
200
|
1003
|
2003
|
Rustam
|
Jizzax
|
300
|
1005
|
2005
|
Ǵanisher
|
Buxaro
|
200
|
1007
|
Hámme kestelerde qatar manisleri SQLda INSERT buyruǵi jardeminda kiritiledi. INSERT buyruǵi tómendegi formatta boliwi múmkin.
INSERT INTO [(column [, column]…)]
HÁMLUES ( [,]…);
Maselen, satiwshilar kestesine qatar kiritiw ushın tómendegi buyriqdan paydalaniw múmkin.
INSERT INTO Salespeople HÁMLUES (11, ‘Peel’, ‘Londoń, .12);
Bul buyruqlardan korinip turibdi, INTO gilt sózi kestelerge manisler kiritiwda isletiledi.
SQL tilinde tranzaksiyalarva blokirovkalar. Tranzaksiya hám
blokirovka túsinigi. Aniq jaylastirilǵan tranzaksiyalar
SQL tilinde tranzaksiya deb, maǵliwmatlardi tiklewge qaraǵanda ajiralmas bolǵan operatorlar izbe-izligine aytiladi. SQL tilindegi hár bir shaqiriw moduli tranzaksiyadúr. SQL tili tranzaksiyalari qandayda bir moduldiń proceduralarin orinlawdan baslanadi.COMMIT yori ROLLBACK operatoriniń orinlaniwi menen tamamlanadi .Eger tranzaksiya ROLLBACK operatori menen tamamlansa, proceduradaǵi barliq qilingan ámellar biykar etiledi.
Hár bir tranzaksiyaniń “tek oqiw” yamasa “oqiw hám jaziw” tartipleri bar.Tranzaksiya tartipleri SETTTRANSACTION operatori járdaminde ornatiladi.Tinishliq qaǵiydasina qaraǵanda ''oqiw hám jaziw” tartibi ornatiladi. “Tek oqiw" tártibi barqulla saqlanatuǵin bazaliq maǵliwmatlarǵa qóllaniladi.
Hár bir SQL tranzaksiyasi qorǵaw darajasinesine iye:
READUNCOMMITTED, READCOMMITTED, REPEATABLEREAD yoki SERIALIZABLE. SQL tranzaksiyasi qorǵaniw dárejeleri orinlap atirǵan basqa parallel orinlapatirǵan tranzaksiyalarǵa tásir etiwdárejesin aniqlaydi. Tranzaksiyaniń aniq dárajasin ornatiw uchin SETTRANSACTION operatorinan paydalanadi.Tinishliq qaǵiydasina qaraǵanda SERIALIZABLE tartipli ornatiladi.
Qorǵanilǵan darejeleri tranzaksiyalardiń parallel orinlaniwinda júz beriwi múmkin bol’gan hádiyselerdi aniqlaydi. Tómendegi kórinisdegi hádiyseler boliwi múmkin:
PI (“Dirtyread" - "Jaman oqiw"): T1 tranzaksiya Qatarin jaratadi. Keyin T2 tranzaksiya T1 COMMIT ámelin orinlamastan bul qatomi oqiyidi. Sodan soń T1 ROLLBACK amelin orinlasa, T2 tranzaksiya uliwmajoq bolǵan qatardi oqiytuǵin bolib shiǵadi.
P2 (“Non-repeaiableread” - “Takirarlamaytuǵin oqiw"): T1 tranzaksiya qatarin oqiydi. Soń T2 tranzaksiya bul buyriqlar qatarini ózgertiredi yamasa alip tashlaydi hám COMMITti orinlaydi. Sodan son T1 usi qatardi jáne oqiwǵa háreket qiladi,biraqbul qatar birinshi halatdaǵi qatar emes yamasa alib tashlanǵani uchun tabalmaydi.
3. РЗ("Phantom" - "Fantom"): T1 tranzaksiya qandayda-bir shártti qanaatlandiratuǵan N qatomin oqiydi. Sonnan keyin T2 tranzaksiya bul qatarlar ichinen bir yamasa bir neshe qator shártlerin generaciya qiladi. Eger usi islerden keyin T1 oqiwdi qaytarsa, ol putkilley basqa qatarlarǵa iye boladi,
Tórt qorǵaniw darejeleri P1,P2 va P3 hádiyselerine qaraǵanda trómendsegishe tásirge iye:
Do'stlaringiz bilan baham: |