AXV

SQL: SELECT

SQL asoslari: SELECT, ustunlar va sodda ifodalar

9-sinfBusiness Intelligence4-hafta · 12-dars

Bugungi reja

01. SQL

Tarix va buyruq toifalari.

02. SELECT

Ustunlar, FROM, AS.

03. Ifodalar

Hisoblash, DISTINCT, TOP.

Takrorlash: 11-dars

Narx ustuni faqat musbat bo'lishi uchun qaysi cheklov kerak?

CHECK shartga mos bo'lmagan qiymatni rad etadi - bu domain integrity.
01

SQL nima?

Structured Query Language

Deklarativ til

SQL da «qanday topish» emas, «nimani olish kerak» yoziladi. Yo'lni DBMS o'zi tanlaydi.
0
Codd: relatsion model
0
IBM: SEQUEL
0
ANSI standarti

Buyruq toifalari

ToifaBuyruqlarVazifasi
DDLCREATE, ALTER, DROPtuzilma
DMLINSERT, UPDATE, DELETEma'lumotni o'zgartirish
DQLSELECTma'lumotni o'qish
DCLGRANT, REVOKEhuquqlar
TCLCOMMIT, ROLLBACKtranzaksiyalar

SELECT ma'lumotni o'zgartirmaydi - o'rganish uchun eng xavfsiz buyruq.

Namuna jadval: Mahsulotlar

IDNomiKategoriyaNarxSoni
1SichqonchaAksessuar8000025
2KlaviaturaAksessuar15000012
3MonitorEkran19000004
4NoutbukKompyuter75000003
5QuloqchinAksessuar12000018
6PlanshetKompyuter32000006
02

SELECT va FROM

Nimani va qayerdan

SELECT * - barcha ustunlar


SELECT *
FROM Mahsulotlar;
  

SELECT

Nimani olamiz. * - hamma ustun.

FROM

Qaysi jadvaldan.

Kerakli ustunlar


SELECT Nomi, Narx
FROM Mahsulotlar;
  
Ustunlar siz yozgan tartibda chiqadi. Hisobotlarda SELECT * o'rniga faqat kerakli ustunlar.

AS - taxallus


SELECT Nomi AS Mahsulot,
       Narx AS [Narx (so'm)]
FROM Mahsulotlar;
  

Jadvaldagi asl nom o'zgarmaydi. Bo'sh joyli nom SQL Server da [...] ichida.

Mini-test

SELECT Narx, Nomi FROM Mahsulotlar; natijasida birinchi ustun qaysi?

Ustunlar SELECT da yozilgan tartibda chiqadi.
03

Sodda ifodalar

Hisoblangan ustunlar, DISTINCT, TOP

Hisoblangan ustunlar


SELECT Nomi,
       Narx * Soni        AS OmborQiymati,
       Narx * 1.12        AS QQS_bilan,
       Narx - Narx * 0.10 AS Chegirma10
FROM Mahsulotlar;
  

Sichqoncha: 2000000, 89600, 72000. QQS - 12%.

Bo'lish tuzog'i

Butun sonlar

SELECT 7 / 2; → 3
VS

Kasr bilan

SELECT 7 / 2.0; → 3.5

SQL Server da ikki butun sonni bo'lish butun natija beradi.

Matnni birlashtirish


SELECT Nomi + N' (' + Kategoriya + N')' AS ToliqNom
FROM Mahsulotlar;
-- Sichqoncha (Aksessuar)

SELECT CONCAT(Nomi, N' (', Kategoriya, N')') AS ToliqNom
FROM Mahsulotlar;
  

CONCAT NULL qiymatda ham ishlaydi.

DISTINCT - takrorsiz

SELECT Kategoriya

6 qator: Aksessuar, Aksessuar, Ekran, Kompyuter, Aksessuar, Kompyuter

SELECT DISTINCT Kategoriya

3 qator: Aksessuar, Ekran, Kompyuter

TOP - birinchi N qator


SELECT TOP 3 Nomi, Narx
FROM Mahsulotlar;
-- PostgreSQL, MySQL, SQLite: ... LIMIT 3;
  
Tartibsiz TOP qaysi 3 qatorni berishi kafolatlanmaydi. «Eng qimmat 3 ta» uchun keyin ORDER BY o'rganamiz.

NULL - qiymat yo'q

0 emas

0 - bu son, NULL - noma'lum.

'' emas

Bo'sh matn ham qiymat.

NULL * 5

Natija ham NULL.

Mini-test

SELECT DISTINCT Kategoriya FROM Mahsulotlar; nechta qator qaytaradi?

Jadvalda 3 xil kategoriya bor: Aksessuar, Ekran, Kompyuter.

Amaliy topshiriqlar 25 daqiqa

Oson7 buyruq toifasini aniqlang. Nomi va Kategoriyani Mahsulot va Turi taxalluslari bilan chiqaring.
O'rtaOmbor qiymati va 15% chegirmali narx ustunlarini hisoblang.
Qiyin4 ta so'rov natijasini bashorat qiling (DISTINCT, TOP, 7/2, taxallussiz ifoda), so'ng tekshiring.

Dars xulosasi

SQL

Deklarativ til; SELECT - DQL.

SELECT

*, ustunlar, FROM, AS.

Ifodalar

Hisoblash, CONCAT, DISTINCT, TOP.

Uyga vazifa: 10 ta mahsulot va 6 ta SELECT so'rovi.

Keyingi dars: WHERE

Shartli filtrlash, AND, OR, NOT

5-hafta · 13-dars