KompyuterlarFayl turlari

Alohida SQL: Sharh, misollar, xususiyatlari

Agar jadvaldagi ma'lumotlar olish uchun SQL foydalanish paytida tez-tez, foydalanuvchi ortiqcha ma'lumotlar mutlaqo bir xil ikki nusxadagi satrlarni mavjudligidir qabul qildi. Bu vaziyatni oldini olish uchun, jumla tanlang SQL alohida mustaqil o'zgarmaydigan foydalanish. Ushbu maqola ariza dalillar tark qilish lozim bo'lgan, bu dalillar foydalanish misollar, shuningdek, vaziyatlarni muhokama qilinadi.

Biz aniq misollarni ko'rib uchun davom oldin, jadvallar bir necha talab ma'lumotlar bazasini yaratish.

tayyorlash stol

Biz ikki jadvallar taqdim fon rasmi haqida ma'lumotlar bazasi saqlaydi ma'lumot bor, deb tasavvur qiling. , Rang (rangi), bir struct (strukturasi) va narx (baho) - turi (. Qog'oz, vinil va boshqalar fon rasmi turi) ning id sohalarda (noyob identifikator), bilan, bu stol Oboi (oboy). Va stol Ostatki id_oboi sohalarda bilan (quyqa) va soni (stock rulon soni) (stol Oboi noyob identifikator bilan mos yozuvlar).

ma'lumotlar jadvali to'ldiring. stol devor qog'ozi 9 yozuvlarni kiritish:

Oboi

id

shrift

rang

struct

narx

1

qog'oz

ko'p rangli

bo'rttirma,

56,9

2

Qog'oz ikki qatlamli

sarg'ish

silliq

114,8

3

vinil

apelsin

bo'rttirma,

504

4

Polar

sarg'ish

bo'rttirma,

1020,9

5

Qog'oz ikki qatlamli

sarg'ish

silliq

150,6

6

qog'oz

ko'p rangli

silliq

95,4

7

vinil

jigar rang

silliq

372

8

Polar

oq rang

bo'rttirma,

980,1

9

mato

pushti

silliq

1166,5

qoldiqlari bilan stol - to'qqiz yozuvlar:

Ostatki

id_oboi

hisoblash

1

8

2

12

3

24

4

9

5

16

6

7

7

24

8

32

9

11

Biz SQL yilda alohida tartibini tavsifi qiling.

Tanlang bandda alohida joylashtirish

alohida argument so'rovlardan tanlang kalit keyin darhol joylashtirilgan bo'lishi kerak. Bu juda o'xshash satr bo'ladi final so'rovlar natijasida tashlanadi, chunki u, hukm Applications ko'rsatilgan barcha ustunlar uchun qo'llaniladi. Shunday qilib, bir marta SQL yozganda so'rov «alohida tanlash» belgilash uchun etarli bo'ladi. istisno keyinchalik bir oz qarash alohida ichida jami funktsiyalari foydalanish hisoblanadi.

Bu ma'lumotlar bazasi eng shuni unutmaslik kerak va so'rov sizning turini tan olmaydi:

alohida Ostatki.Count, alohida Oboi Select ni bosing. *

Oboi FROM

Ichki Oboi.id = Ostatki.id_oboi ON Ostatki qotil

U erda bahs bir necha marta ko'rib yoki bir marta belgilangan emas, balki uchinchi sekundiga, yoki boshqa tanlangan ustun oldin. Siz sintaksisi xato nazarda xato olasiz.

standart Dastur alohida so'rovlarni

Bu, albatta, bir xil satrlari bor qachon bir jadval ichida to'ldirish to'g'ri qurilish tuzilishi jadvallar bilan vaziyatni istisno deb ochiq-oydin emas. Shuning uchun, so'rovlar ijro biri stol bir misol bilan «alohida * tanlang» amaliy emas.

Biz turiga ko'ra tartiblashtirish uchun, faqat qulaylik uchun, biz devor qog'ozi bor, nima turi bilish kerak bo'lsa bir vaziyatni ko'rib chiqaylik:

SELECT Oboi.type

turiga ko'ra Oboi buyurtma

Va natija olish:

shrift

qog'oz

qog'oz

Qog'oz ikki qatlamli

Qog'oz ikki qatlamli

vinil

vinil

mato

Polar

Polar

jadvalda ko'rinib turganidek, ikki nusxadagi satrlarni bor. Biz taklifini kiritish bo'lsa alohida tanlang:

alohida Oboi.type Applications

turiga ko'ra Oboi buyurtma

Biz takrorlash holda natija olish:

shrift

qog'oz

Qog'oz ikki qatlamli

vinil

mato

Polar

to'g'ri bir jadvalda ma'lumotlarni kiritsangiz Shunday qilib, so'ngra darhol xaridorlar qo'ng'iroq yoki so'rovdan so'ng biz do'konida mavjud suyuqlik fon rasmi, shisha tolali va akril Fon rasmi emasligini javob berishi mumkin. do'konlari qator odatda yuz fon rasmi cheklangan emas hisobga olib, ancha mehnat talab bo'lardi non-noyob turlarining ro'yxatini ko'rish.

ichidagi alohida jami vazifalarni Application

SQL alohida argument har qanday agregat funktsiyasi bilan foydalanish mumkin. Lekin Min va Maks uning qo'llash uchun hech qanday ta'sir bor, lekin summani yoki o'rtacha qiymatini hisoblashda kamdan-kam hollarda hech kim hisobga so'zlarni takrorlab olish kerak edi, bir vaziyat bo'ladi.

biz ombori salohiyatini tekshirish uchun va bu so'rov yuborish xohlagan deylik, stock g'altakka umumiy soni hisoblangan:

SELECT yig'indisi (Ostatki.count)

Ostatki FROM

So'rov 143. Ammo, agar biz bilan farq qiladi javob berish bo'ladi:

SELECT summasi (alohida Ostatki.count)

Ostatki FROM

Biz qismi raqamlar 3 uchun fon tasviri sifatida, umumiy 119 olish va 7 xil miqdorda aktsiyalari bor. Biroq, bu javob noto'g'ri, deb ochiq-oydin emas.

Eng tez-tez SQL alohida vazifani Count foydalanish. Shunday qilib, biz osonlik bilan devor qog'ozi qancha noyob turlarini topish mumkin, biz bor:

SELECT soni (aniq Oboi.type)

Oboi FROM

Va 5 natija olish - oddiy qog'oz va ikki qatlamli vinil va noto'qima mato. Albatta, barcha kabi Sotib ko'rgan: qaysi, bu do'kon emas, balki faqat bir necha o'nlab rolls va fon rasmi zamonaviy turlarini turli ekanligini anglatadi "Faqat biz, devor 20 dan ortiq turli bor".

Bu xil sorguda, siz soni DISTINCT vasf kabi bir necha vazifalarni belgilash va unga holda mumkin qiziq. Bu Select'e yilda alohida mavjud bir necha marta bo'lishi mumkin faqat vaziyat.

Qachon argument foydalanishni voz kechishga

SQL alohida dalillar foydalanish ikki hollarda birida tark qilish lozim:

  1. Siz jadvallar bilan tanlash bajarish va noyob qiymati har ishonamiz. Bu server yoki mijoz (DBMS turiga qarab) qo'shimcha yuk, chunki bu holda, argument foydalanish, noto'g'ri bo'ladi.
  2. Agar ma'lumotlar yo'qotishdan qo'rqishadi. Izoh.

turi va rangini - Faraz bosh murabbiyi faqat ikki ustun ko'rsatilgan siz fon rasmini ro'yxatga so'raydi. odat Out, siz alohida bir dalillar bering:

, Oboi.color alohida Oboi.type Select

Oboi FROM

Buyrug'i bilan Oboi.type

Va - ba'zi ma'lumotlarni yo'qotish:

shrift

rang

qog'oz

ko'p rangli

Qog'oz ikki qatlamli

sarg'ish

vinil

jigar rang

vinil

apelsin

mato

pushti

Polar

sarg'ish

Polar

oq rang

Bu qog'oz (an'anaviy va dual-qatlam) Fon rasmi, biz, aslida, hatto ikki moddaning bizning kichik jadvalda faqat bitta fikr (alohida holda olib), deb taassurot berishi mumkin:

shrift

rang

qog'oz

ko'p rangli

qog'oz

ko'p rangli

Qog'oz ikki qatlamli

sarg'ish

Qog'oz ikki qatlamli

sarg'ish

vinil

jigar rang

vinil

apelsin

mato

pushti

Polar

oq rang

Polar

sarg'ish

Shuning uchun, vazifaga qarab, uning qo'llash bo'yicha qaror qabul qilish ehtiyot va e'tiborli bo'lish argument alohida muhtoj bo'lgan har qanday so'rov yozma sifatida.

alohida muqobil

Barcha argument - alohida argument zid. uning qo'llash ikki nusxadagi satrlarni saqlanadi. Lekin va standart ma'lumotlar bazasi sifatida barcha qadriyatlarni, hujjatingizni barcha ko'rsatishi uchun zarur, deb topadi - bu, balki haqiqiy vazifasi argument ko'ra saralash bo'ladi. Biz endi siz alohida (SQL) ishlatiladi, deb tushunish, deb umid qilaman. Tavsif sizga turli muammolarni hal Ushbu mustaqil o'zgaruvchilar yordamida fizibilitesi haqida to'liq ma'lumot berish. u chiqdi, deb barcha so'ng, uning qo'llash ham bunday oddiy argument noto'g'ri ma'lumot ba'zi ma'lumotlarni yo'qotish va ekranning juda aniq ehtimoli maxfiy qilsangiz.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 uz.birmiss.com. Theme powered by WordPress.