SQL so'rovlari bilan ma'lumotlarni olish: SELECT bayonoti bilan tanishish

Strukturalangan So'rovlar Tili ma'lumotlar bazasi foydalanuvchilariga kuchli va moslashuvchan ma'lumotlarni olish mexanizmi - SELECT bayonotini taqdim etadi. Ushbu maqolada, SELECT iborasining umumiy shaklini ko'rib chiqamiz va bir nechta ma'lumotlar bazasi so'rovlarini birgalikda tuzamiz. Agar bu sizning tuzilgan so'rovlar tiliga dunyoga birinchi kirsa, davom ettirishdan avval ushbu maqolaning SQL asoslarini ko'rib chiqishingiz mumkin.

Agar siz yangi ma'lumotlar bazasini noldan yaratmoqchi bo'lsangiz, SQL-dagi ma'lumotlar bazalari va jadvallarini yaratish maqolasi yaxshi sakrash nuqtasini isbotlashi kerak.

Bas, siz asosiy mavzularda chizilganingizdan so'ng, SELECT bayonotini o'rganishga kirishamiz. Oldingi SQL darslarida bo'lgani kabi, biz ham ANSI SQL standartiga mos keladigan so'zlarni ishlatishni davom ettiramiz. SQL-kodingiz samaradorligini va / yoki samaradorligini oshirishga yordam beradigan rivojlangan variantlarni qo'llab-quvvatlab, qo'llab-quvvatlamasligini aniqlash uchun sizning DBAsingizning hujjatlariga murojaat qilishingiz mumkin.

SELECT bayonnomasining umumiy shakli

SELECT iborasining umumiy shakli quyida ko'rsatiladi:

SELECT select_list
Manba
Qaerda vaziyat (lar)
GROUP BY ifodasi
HAVING holati
ORDER BY ifodasi

Bayonnomaning birinchi qatori SQL protsessoriga ushbu buyruqning bir Applications iborasi ekanligini va ma'lumotlar bazasidan ma'lumotlarni olishni istayotganini bildiradi. Select_list biz olishni istagan ma'lumot turini belgilashga imkon beradi.

Ikkinchi satrda FROM yon tümcesi, muayyan ma'lumotlar bazasi jadvali (lar) ni bildiradi va WHERE punkti bizga natijalarni belgilangan holatga (larga) mos keladigan yozuvlarga cheklash imkoniyatini beradi. Oxirgi uchta maqola ushbu maqolaning doirasidan tashqarida rivojlangan xususiyatlarni ifodalaydi - kelajakdagi SQL maqolalarida ularni o'rganamiz.

SQLni o'rganishning eng oson usuli misol. Buni yodda tutib, ba'zi bazalar so'rovlarini ko'rib chiqaylik. Ushbu maqola davomida biz XYZ korporatsiyasining inson resurslari ma'lumotlar bazasidan ishchilar jadvalini barcha so'rovlarni ko'rsatish uchun ishlatamiz. Mana, butun jadval:

EmployeeID

Familiya

Ism

Ish haqi

ReportsTo

1

Smit

Jon

32000

2

2

Scampi

Sue

45000

NULL

3

Kendall

Tom

29500

2

4 Jons Ibrohim 35000 2
5 Allen Bill 17250 4
6 Reynolds Allison 19500 yil 4
7 Jonson Katie 21000 3

Butun jadvalni olish

XYZ Korporatsiyasining Inson resurslari bo'yicha direktori har oyda kompaniyaning har bir ishchisi uchun ish haqi va hisobot ma'lumotlarini taqdim etuvchi hisobotni oladi. Ushbu hisobotning yaratilishi SELECT bayonotining eng oddiy shakli. U oddiygina ma'lumotlar bazasi jadvalidagi barcha ma'lumotlarni oladi - har bir ustun va har bir satr. Bu natijani amalga oshiradigan so'rov:

Applications *
Xodimlardan

Juda sodda, to'g'rimi? Select_listdagi yulduzcha (*) ma'lumotlar bazasiga xabar berish uchun ishlatiladigan joker belgidir , biz FROM bandida ko'rsatilgan ishchi jadvalidagi barcha ustunlardan ma'lumotlarni olishni xohlaymiz. Ma'lumotlar bazasida barcha ma'lumotlarni olishni istadik, shuning uchun Jadvaldan tanlangan satrlarni cheklash uchun WHERE punktidan foydalanish shart emas edi.

So'rov natijalari quyidagicha ko'rinadi:

EmployeeID Familiya Ism Ish haqi ReportsTo
---------- -------- --------- ------ ---------
1 Smit Jon 32000 2
2 Scampi Sue 45000 NULL
3 Kendall Tom 29500 2
4 Jons Ibrohim 35000 2
5 Allen Bill 17250 4
6 Reynolds Allison 19500 yil 4
7 Jonson Katie 21000 3