MS kirishdan sql so'rang. Kirish SQL so'rovlari tili Kirish uchun SQL so'rovlarini qidiring

Golovna / Qo'shimcha funksionallik

Bitta SQL so'rovi boshqasidan oldin kiritilishi mumkin. U qayta zaryadlanadi - to'ldirishning o'rtasida to'ldirishdan boshqa hech narsa yo'q. Qoida tariqasida, so'rov WHERE bandiga qo'shiladi. Qo'shimchalardan foydalanishning boshqa mumkin bo'lgan usullari mavjud.

Q011 ga sozlang. m_income jadvalida keltirilgan m_product jadvalidagi mahsulotlar haqidagi ma'lumotlar ko'rsatiladi:

TANLASH *
m_mahsulotdan
WHERE id IN (m_income FROM product_id ni tanlang);

Q012 ga sozlang. Mahsulotlar ro'yxati m_product jadvalida ko'rsatiladi, ammo m_outcome jadvalida kodlar yo'q:

TANLASH *
m_mahsulotdan
WHERE id IN YO'Q (m_outcome FROM product_id ni tanlang);

Q013 tomonidan quvvatlanadi. Ushbu SQL so'rovi m_outcome jadvalida emas, balki m_income jadvalidagi kodlar va mahsulot nomlarining noyob ro'yxatini ko'rsatadi:

DISTINCT mahsulot_identifikatorini tanlang, sarlavha
FROM m_income INNER JOIN m_product
ON m_income.product_id=m_product.id
WHERE product_id IN YO'Q (m_natijadan mahsulot_identifikatorini tanlang);

Q014 ga sozlang. m_category jadvali nomlari M harfi bilan boshlanadigan toifalarning noyob ro'yxatini ko'rsatadi:

DISTINCT sarlavhasini tanlang
m_mahsulotdan
QAYERDA "M*" kabi sarlavha;

Q015 tomonidan quvvatlanadi. Yozuvdagi maydonlarda arifmetik amallarni qo'llash va yozuvdagi maydonlarni qayta nomlash (taxallus). Bunday holda, mahsulotni sotib olish bahosi to'g'risida teri rekordi uchun xarajatlar miqdori qoplanadi = miqdor * ruxsat etilganda foydaning narxi va hajmi, shunda foyda sotishdan 7 yuz rublga aylanadi:

Narx, summa*narx AS natijasi_sum,
miqdori*narx/100*7 AS foyda
FROM m_outcome;

Q016 ga sozlang. Arifmetik amallarni tahlil qilish va soddalashtirish orqali siz hisoblash tezligini oshirishingiz mumkin:


natija_summi*0,07 AS foyda
FROM m_outcome;

Q017 ga sozlang. Qo'shimcha INNER JOIN bayonotidan foydalanib, siz bir nechta jadvallardagi ma'lumotlarni birlashtira olasiz. Keyingi bosqichda, ctgry_id qiymatiga qarab, m_income jadvalidagi har bir yozuv, m_category jadvalidagi toifa nomi tovar saqlanishi kerak bo'lgan joyga o'rnatiladi:

C. sarlavha, b. sarlavha, dt, miqdor, narx, miqdor*narx AS daromad_sumini tanlang
FROM (m_income AS a INNER JOIN AS b ON a.product_id=b.id)
INNER JOIN m_category AS c ON b.ctgry_id=c.id
TARTIBI BO'YICHA c.title, b.title;

Q018 tomonidan quvvatlanadi. SUM, COUNT, miqdor, AVG, arifmetik o'rtacha, MAX, maksimal qiymat, MIN, minimal qiymat kabi funksiyalar yig'ma funksiyalar deyiladi. Hidi ma'nosiz ma'noga ega bo'ladi va ularni qayta ishlagandan keyin xuddi shu ma'noga aylanadi. Masalan, SUM qo'shimcha funktsiyalari uchun miqdor va narxni qo'shing:

SUMM(summa*narx) Jami_sum sifatida tanlang
m_daromaddan;

Q019 sozlang. Bir qator agregat funktsiyalarni tanlashga misol:


Sum(sum) ni Summa_summa, AVG(summa) ASQA Summa_AVG,
MAX(summa) AS Summa_Maks, Min(summa) AS Summa_Min,
Hisob (*) AS Jami_son
m_daromaddan;

Quvvatni yoqing Q020. Kimning arizasi 2011 yil boshida sotib olingan 1-kodli barcha mahsulotlarning yig'indisini qamrab oladi:

TANLASH
m_daromaddan
QAYERDA product_id=1 VA dt #6/1/2011# VA #6/30/2011# orasida;

Q021 ga sozlang. Keyingi SQL so'rovi sotilgan tovarlar miqdorini hisoblab chiqadi, bu kod 4 yoki 6:

TANLASH
FROM m_outcome
QAYERDA mahsulot_id=4 YOKI mahsulot_id=6;

Quvvatni yoqing Q022. U 2011 yil 12 iyunda sotilgan summaga qarab 4 yoki 6 kodli tovarlar soniga qarab hisoblanadi:

Yig'indi (summa*narx) natija_sumi sifatida tanlang
FROM m_outcome
QAYER (mahsulot_id=4 YOKI mahsulot_id=6) VA dt=#6/12/2011#;

Q023 tomonidan quvvatlanadi. Zavdannya shunday. "Non mahsulotlari" toifasida sotib olingan tovarlarning umumiy miqdorini hisoblang.

Ushbu vazifani bajarish uchun siz uchta jadvalni ishlatishingiz kerak: m_income, m_product va m_category, shuning uchun:
- sotib olingan tovarlarning miqdori va miqdori m_daromadlar jadvalida saqlanadi;
- teri mahsulotining toifa kodi m_product jadvalida saqlanadi;
- Turkum sarlavhasining nomi m_category jadvalida saqlanadi.

Ushbu maqsadga erishish uchun jarayonni tezlashtirish uchun quyidagi algoritm qo'llaniladi:
- qo'shimcha almashtirish uchun m_category jadvalidan "Non mahsulotlari" toifa kodini belgilang;
- teri mahsulotlarining belgilangan toifasi uchun m_income va m_product jadvali yaratilgan;
- toifa kodi eng muhim kichik band tomonidan tayinlangan kodga teng bo'lgan tovarlar uchun olingan summani (= miqdor*narx) hisoblash.


FROM m_product AS a.id=b.product_id
WHERE ctgry_id = (Tanlang identifikatori FROM m_category WHERE title="Non mikroblari)"); !}!}

Quvvatni yoqing Q024."Non mahsulotlari" toifasida sotib olingan tovarlarning umumiy miqdorini joriy hisob-kitobi eng yangi algoritmga asoslanadi:
- m_daromadlar jadvalidagi har bir yozuv, uning mahsulot_id qiymatiga qarab, m_kategoriya jadvalidan kategoriya nomini kiriting;
- toifasi "Non mahsulotlari" dan eski bo'lgan yozuvlarni ko'ring;
- Qabul qilingan miqdorni hisoblang = miqdor * narx.

Sum(summa*narx)ni daromadlar_sumi sifatida tanlang
FROM (m_mahsulot ICHKI QO'SHILMA AS m_daromad AS b ON a.id=b.product_id)
WHERE c.title="Non mikroblari"; !}!}

Quvvatni yoqing Q025. Qaysi holatda qancha tovar sarflanganligi hisoblab chiqiladi:

COUNT(mahsulot_identifikatori) ni product_cnt sifatida tanlang
FROM (Tanlash DISTINCT product_id FROM m_outcome) AS t;

Quvvatni yoqing Q026. GROUP BY bayonoti yozuvlarni guruhlash uchun ishlatiladi. Yozuvlarni bir yoki bir nechta maydonlarning qiymatlari bo'yicha va teri guruhi agregat operatsiya sifatida turg'un bo'lguncha guruhlang. Masalan, joriy hisobot mahsulot sotish haqida. Keyin jadval tuziladi, unda tovarlarning nomlari va ular sotilgan miqdori ko'rsatilgan:

Sarlavhani, SUM(summa*narx) natija_summani AS
FROM m_product AS a INNER JOIN m_outcome AS b
ON a.id=b.product_id
Sarlavha bo'yicha GROUP;

Quvvatni yoqing Q027. Bu toifalar bo'yicha sotish haqida. Keyin tovarlar toifalarining nomlari, ushbu toifalar bo'yicha sotilgan tovarlarning umumiy miqdori va sotishning o'rtacha miqdorini o'z ichiga olgan jadval tuziladi. O'rtacha qiymatni yuzinchi o'ringa yaxlitlash uchun Vikoristanning ROUND funksiyasi (butun va o'q qismlarini ajratgandan keyin yana bir belgi):

c. sarlavha, SO‘M(summa*narx) natija_so‘mi sifatida tanlang,
ROUND(AVG(summa*narx),2) natija_summa_oʻrtacha
FROM (m_product AS a.id=b.product_id)
INNER JOIN m_category AS c ON a.ctgry_id=c.id
c. sarlavha bo'yicha GURUHLASH;

Q028 tomonidan quvvatlanadi. Mahsulotlar to'g'risidagi ma'lumotlarni ko'rsatish uchun zarur bo'lgan ob'ektlarning o'rtacha soni har bir mahsulot uchun hisoblab chiqiladi, talab qilinadigan elementlarning o'rtacha soni 500 tadan kam emas:

mahsulot_identifikatorini tanlang, SUM(summa) AS summa_sum,
Round(Oʻrtacha(summa),2) AS summa_oʻrtacha
m_daromaddan
mahsulot_identifikatori boʻyicha GURUHLASH
BO'LGAN summa(summa)>=500;

Q029 tomonidan quvvatlanadi. Bunday holda, charm mahsuloti uchun miqdor 2011 yilning boshqa choragida olingan daromadning o'rtacha qiymatidan kelib chiqqan holda hisoblanadi. Agar mahsulot uchun qaytarish miqdori 1000 dan kam bo'lmasa, ushbu mahsulot haqida ma'lumot ko'rsatiladi:

TANLASH sarlavhasi, SUM(summa*narx) daromad_sumi AS
FROM m_income a INNER JOIN m_product b ON a.product_id=b.id
QAYERDA dt #4/1/2011# VA #6/30/2011#
Sarlavha boʻyicha GURUHLASH
SO'MGA EGA (summa * narx)> = 1000;

Quvvatni yoqing Q030. Ba'zi hollarda, bir stolning teri yozuvini boshqa stolning teriga kiritishi bilan kiritish kerak; nima dekart yaratilishi deb ataladi. Bunday natijaning davomchisi sifatida tuzilgan jadval Dekart jadvali deb ataladi. Masalan, agar A jadvalida 100 ta, jadvalda esa 15 ta yozuv bo'lsa, ularning Dekart jadvali 100 * 15 = 150 yozuvdan iborat bo'ladi. Keyingi yozuv m_income jadvali yozuvini m_outcome jadvali yozuvi bilan birlashtiradi:

TANLASH *FROM m_income, m_outcome;

Quvvatni yoqing Q031. Ikki sohada yozuvlarni guruhlash misoli. Keyingi SQL so'rovi har bir mijozdan olinadigan tovarlar miqdorini hisoblab chiqadi:


SUM(summa*narx) daromad_sumi AS

Quvvatni yoqing Q032. Ikki sohada yozuvlarni guruhlash misoli. Keyingi qadam teri mijozi uchun biz tomonidan sotilgan mahsulotlar sonini hisoblab chiqadi:

yetkazib beruvchi_identifikatori, mahsulot_identifikatori, SUM(summa) AS summa_sum,
SUM(summa*narx) natija_sumi AS
yetkazib beruvchi_identifikatori, mahsulot_identifikatori boʻyicha GROUP;

Q033 tomonidan quvvatlanadi. Bunday holda, zaryadlash uchun vikoristonga yozish uchun ikkita yo'nalish mavjud (q031 va q032). LEFT JOIN usulidan foydalangan holda ushbu so'rovlarning natijalari bittaga birlashtiriladi. Keyingi qadam teriga yuborilgan va sotilgan mahsulotlarning miqdori va miqdori haqidagi ma'lumotlarni ko'rsatish bo'ladi. Esda tutingki, agar biron-bir mahsulotga talab mavjud bo'lsa-yu, lekin hali sotilmagan bo'lsa, u holda natija_sum hisobi bo'sh bo'ladi. Shuni ham ta'kidlash kerakki, ma'lumotlar vikoristonning dumbasi, shuningdek, katlanmışlar bilan to'ldiriladi. Ushbu SQL so'rovining ko'p ma'lumotlarga ega bo'lishi shubhali:

TANLASH *
FROM
SUM(summa*narx) daromad_sumi AS
ON a.product_id=b.id GROUP BY BY provayder_id, product_id) AS a
Chapga qo'shilish
(ta'minotchi_identifikatori, mahsulot_identifikatori, SUM(summa) AS summa_sum,
SUM(summa*narx) natija_sumi AS
FROM m_outcome AS a INNER JOIN m_product AS b
ON a.product_id=b.id GROUP BY BY provayder_id, product_id) AS b
ON (a.product_id=b.product_id) VA (a.supplier_id=b.supplier_id);

Quvvatni yoqing Q034. Bunday holda, zaryadlash uchun vikoristonga yozish uchun ikkita yo'nalish (q031 va q032) mavjud. RIGTH JOIN usulidan foydalangan holda ushbu so'rovlarning natijalari bitta signalga birlashtiriladi. Keyingi qadam sizdan har bir mijoz o'zining turli to'lov tizimlariga qilgan to'lovlari miqdori va u olgan investitsiyalar miqdori haqida ma'lumotni ko'rsatishingizni so'raydi. Keyingi qadam teriga yuborilgan va sotilgan mahsulotlarning miqdori va miqdori haqidagi ma'lumotlarni ko'rsatish bo'ladi. Shuni esda tutingki, agar biron bir mahsulot allaqachon sotilgan bo'lsa-da, lekin hali mavjud bo'lmasa, ushbu yozuv uchun daromadlar_sumi hisobi bo'sh bo'ladi. Bunday bo'sh kataklarning mavjudligi sotish nuqtai nazaridan yo'qotish ko'rsatkichidir, shuning uchun mahsulotni sotishdan oldin mahsulot eng yaxshi ekanligiga ishonch hosil qilish kerak:

TANLASH *
FROM
(ta'minotchi_identifikatori, mahsulot_identifikatori, SUM(summa) AS summa_sum,
SUM(summa*narx) daromad_sumi AS
FROM m_income ICHKI JOIN AS m_product AS b ON a.product_id=b.id
yetkazib beruvchi_identifikatori, mahsulot_identifikatori boʻyicha GURUHLASH a
TO'G'RI QO'SHILING
(ta'minotchi_identifikatori, mahsulot_identifikatori, SUM(summa) AS summa_sum,
SUM(summa*narx) natija_sumi AS
FROM m_outcome ICHKI JOIN AS m_product AS b ON a.product_id=b.id
yetkazib beruvchi_identifikatori, mahsulot_identifikatori boʻyicha GURUHLASH b
ON (a.ta'minotchi_id=b.ta'minotchi_id) VA (a.mahsulot_id=b.mahsulot_id);

Quvvatni yoqing Q035. Bu oziq-ovqat mahsulotlari uchun daromad va xarajatlar miqdori haqida paydo bo'ladi. Buning uchun m_daromad va m_natija jadvallari uchun mahsulotlar ro'yxati tuziladi, so'ngra ushbu ro'yxatdagi har bir mahsulot uchun m_daromad jadvali uchun daromad miqdori va m_natija jadvali bo'yicha xarajatlar miqdori hisoblab chiqiladi:

mahsulot_identifikatori, SUM(summada) daromadlar_miqdori sifatida,
SUM(tashqi_summa) AS natija_summasi
FROM
(mahsulot_identifikatorini tanlang, AS miqdorida, 0 AS tashqarida
m_daromaddan
HAMMA UNIT
SELECT product_id, 0 AS in_summa, summa AS out_summa
FROM m_outcome) AS t
GROUP BY BY product_id;

Quvvatni yoqing Q036. EXISTS funksiyasi elementlarga uzatilgan TRUE qiymatlarni aylantiradi. EXISTS funktsiyasi elementlarni noto'g'ri joylashtirmaslik uchun bo'sh omil kiritilsa, FALSE qiymatini aylantiradi. Keyingi qadam sizdan m_income jadvalida va m_outcome jadvalida joylashgan mahsulot kodlarini ko'rsatishingizni so'raydi:

DISTINCT mahsulot_identifikatorini tanlang
FROM m_income AS a
QAYERDA MAVJUD (mahsulot_identifikatorini m_natijadan TANGLASH AS b

Quvvatni yoqing Q037. m_income jadvalida va m_outcome jadvalida joylashgan mahsulot kodlari ko'rsatiladi:

DISTINCT mahsulot_identifikatorini tanlang
FROM m_income AS a
WHERE product_id IN (m_natijadan mahsulot_identifikatorini tanlang)

Quvvatni yoqing Q038. m_income jadvalida joylashgan mahsulotlar kodlari ko'rsatiladi, lekin m_outcome jadvalida emas:

DISTINCT mahsulot_identifikatorini tanlang
FROM m_income AS a
MAVJUD YO'Q QERDA(mahsulot_identifikatorini m_natijadan AS b
WHERE b.mahsulot_id=a.mahsulot_id);

Q039 tomonidan quvvatlanadi. Savdo miqdori maksimal bo'lgan mahsulotlar ro'yxati ko'rsatiladi. Algoritm shunday. Har bir mahsulot uchun sotish miqdori hisoblab chiqiladi. Keyin maksimal miqdor hisoblab chiqiladi. Keyin, har bir mahsulot uchun uning sotilgan miqdori yana hisoblab chiqiladi va sotish miqdori maksimal bo'lgan tovarlarni sotish miqdori uchun kod ko'rsatiladi:

mahsulot_identifikatori, SUM(summa*narx) summa_sum AS ni tanlang
FROM m_outcome
mahsulot_identifikatori boʻyicha GURUHLASH
SUM (summa*narx) = (MAKS (s_summa) ni tanlang)
FROM (mahsulot_identifikatori bo'yicha m_natija GROUP FROM SOUM(summa*narx) S_summani tanlang));

Quvvatni yoqing Q040. Zaxiralangan so'z IIF (razvedka operatori) mantiqiy ifodani va natijaga kiritilgan boshqa harakatlarni baholash uchun ishlatiladi (TRUE yoki FALSE). Bunda tovar yetkazib berish “kichik”, agar miqdori 500 dan kam bo‘lsa, boshqa holatda tovar miqdori 500 tadan ko‘p bo‘lsa, taklif “katta” hisoblanadi:

SELECT dt, product_id, summa,
IIF(summa<500,"малая","большая") AS mark
m_daromaddan;

SQL Q041 yozing. IIF operatori ko'p marta ishlatilganligi sababli uni SWITCH operatori bilan almashtirgan ma'qul. SWITCH operatori (bir nechta tanlash operatori) mantiqiy ifoda va mantiqiy ifodani va natijaga qarab boshqa harakatlarni baholash uchun ishlatiladi. Shu bilan birga, agar partiyadagi tovarlar miqdori 500 dan kam bo'lsa, partiya "kichik" hisoblanadi. Aks holda, tovar miqdori 500 dan ortiq yoki qimmatroq bo'lsa, partiya "katta" hisoblanadi:

SELECT dt, product_id, summa,
SWITCH(summa<500,"малая",amount>=500, "ajoyib") AS belgisi
m_daromaddan;

Quvvatni yoqing Q042. <300 не выполняется, то проверяется является ли количество товаров в партии меньше 500. Если размер партии меньше 500, то она считается «средней». В противном случае партия считается «большой»:

SELECT dt, product_id, summa,
IIF(summa<300,"малая",
IIF(summa<1000,"средняя","большая")) AS mark
m_daromaddan;

SQL Q043 yozadi. Hozirgi vaqtda, agar partiyadagi tovarlar miqdori 300 dan kam bo'lsa, u holda partiya "kichik" hisoblanadi. Aks holda, bu pul miqdori<300 не выполняется, то проверяется является ли количество товаров в партии меньше 500. Если размер партии меньше 500, то она считается «средней». В противном случае партия считается «большой»:

SELECT dt, product_id, summa,
SWITCH(summa<300,"малая",
miqdori<1000,"средняя",
summa>=1000, "ajoyib") AS belgisi
m_daromaddan;

SQL Q044 so'radi. Hozirgi vaqtda sotuvlar uch guruhga bo'lingan: kichik (150 tagacha), o'rta (150 dan 300 gacha), katta (300 va undan ortiq). Teri guruhi uchun sumka miqdori hisoblanadi:

Kategoriyani tanlang, SUM(natija_sum) AS Ctgry_Total
FROM (Tanlash summasi*narx AS natijasi_sum,
IIf(summa*narx<150,"малая",
IIf(summa*narx<300,"средняя","большая")) AS Category
FROM m_outcome) AS t
Turkum bo‘yicha GURUHLASH;

SQL Q045 so'radi. DateAdd funktsiyasi ushbu sanadan oldin kunlar, oylar yoki kunlarni qo'shish va yangi sana qo'shish uchun ishlatiladi. Haqoratli xabar:
1) dt maydonidagi sanaga 30 kun qo'shing va dt_plus_30d maydonida yangi sanani ko'rsating;
2) dt maydonidagi sanaga 1 oy qo'shing va dt_plus_1m maydonida yangi sanani ko'rsating:

SELECT dt, dateadd("d",30,dt) AS dt_plus_30d, dateadd("m",1,dt) AS dt_plus_1m
m_daromaddan;

SQL Q046 so'radi. DateDiff funktsiyasi ikki sana o'rtasidagi farqni turli birliklarda (kunlar, oylar yoki kunlar) hisoblash uchun mo'ljallangan. Keyingi yozuv dt maydonidagi sana va kunlar, oylar va kunlardagi aniq sana o'rtasidagi farqni hisoblab chiqadi:

SELECT dt, DateDiff("d",dt,Date()) AS oxirgi_kun,
DateDiff("m",dt,Date()) AS oxirgi_oylar,
DateDiff("yyyy",dt,Sana()) AS oxirgi_yillar
m_daromaddan;

SQL Q047 so'radi. Kunlar soni mahsulot zaxirada bo'lgan kundan boshlab (m_daromad jadvali) qo'shimcha DateDiff funktsiyasidan foydalangan holda joriy sanaga qadar hisoblanadi va atribut muddati o'rnatiladi (m_mahsulot jadvali):


DateDiff("d",dt,Sana()) AS oxirgi_kunlar
FROM m_income AS a INNER JOIN AS m_product AS b
ON a.product_id=b.id;

SQL Q048 so'radi. Tovarlar zaxirada bo'lgan kundan boshlab ishlab chiqarish sanasigacha kunlar soni hisoblanadi, so'ngra texnik topshiriqlar soni tekshiriladi:

SELECT a.id, product_id, dt, lifedays,
DateDiff("d",dt,Sana()) AS oxirgi_kunlar, IIf(oxirgi_kunlar>hayot kunlari,"Shunday","Ni") AS date_expire
FROM m_daromad a INNER JOIN m_product b
ON a.product_id=b.id;

SQL Q049 so'radi. Tovar qabul qilingan kundan boshlab etkazib berish sanasigacha bo'lgan oylar soni hisoblanadi. month_last1 ustuni oylarning mutlaq sonini, month_so'nggi2 ustuni qo'shimcha oylar sonini hisoblab chiqadi:

dt, DateDiff("m",dt,Sana()) AS month_so'nggi1,
DateDiff("m",dt,Sana())-iif(kun(dt)>kun(sana()),1,0) AS month_oxirgi2
m_daromaddan;

SQL Q050 tomonidan quvvatlanadi. 2011 yil uchun sotib olingan tovarlar miqdori va miqdori to'g'risida har chorakda hisobot ko'rsatiladi:

SELECT kvartal, SUM(natija_sum) AS Jami
FROM (tanlash summasi*narx AS natija_sumi, oy(dt) AS m,
KALT (m<4,1,m<7,2,m<10,3,m>=10.4) AS kvartal
FROM m_income WHERE year(dt)=2011) AS t
Chorak bo'yicha GURUHLASH;

Quvvatni yoqing Q051. Keyingi ko'rsatma sizga sotuvchilar tizimga tovarlarni olib qo'yish to'g'risidagi ma'lumotni tovar olgan summadan kamroq miqdorda ko'proq miqdorda kirita olganligini tushunishga yordam beradi:

mahsulot_identifikatori, SUM(so'm ichida) daromadlar_sumi AS, SUM(tashqi_sum) natija_sumi AS
FROM (mahsulot_identifikatorini tanlang, summa*narx yig'indisi, 0 - chiquvchi_sum
m_daromaddan
HAMMA UNIT
Mahsulot_identifikatorini tanlang, yig'indi sifatida 0, yig'indisi sifatida summa*narx
dan m_outcome) AS t
mahsulot_identifikatori boʻyicha GURUHLASH
SUM (so'm ichida)

Quvvatni yoqing Q052. Aylanadigan qatorlarni raqamlash turli usullar bilan amalga oshiriladi. Masalan, siz MS Access dasturining o'zidan foydalanib, MS Access da tayyorlangan kitobning qatorlarini qayta raqamlashingiz mumkin. Siz qo'shimcha dasturlash, masalan, VBA yoki PHP yordamida qayta raqamlashingiz mumkin. Biroq, ba'zida SQL bayonotining o'zida ishlash kerak bo'ladi. Endi keyingi so'rov m_income jadvalining qatorlarini ID maydonining qiymatini oshirish tartibida raqamlaydi:

N, b.id, b.mahsulot_identifikatori, b.summa, b.narx sifatida COUNT(*) ni tanlang
FROM m_income a INNER JOIN m_income b ON a.id<= b.id
GROUP BY b.id, b.mahsulot_id, b.summa, b.narx;

Q053 tomonidan quvvatlanadi. Mahsulotlar orasida eng yaxshi beshta yetakchilar umumiy sotuvlar asosida ko'rsatilgan. Birinchi beshta yozuvni ko'rsatish uchun qo'shimcha TOP ko'rsatmalari talab qilinadi:

TOP 5, mahsulot_identifikatori, summa(summa*narx) yig‘indisi sifatida tanlab oling
FROM m_outcome
mahsulot_identifikatori boʻyicha GURUHLASH
SO'M (summa*narx) BO'YICHA BUYURTMA;

Quvvatni yoqing Q054. Mahsulotlar orasida eng yaxshi beshta yetakchi sotuvlar miqdori bo'yicha ko'rsatiladi va natijada qatorlar raqamlanadi:

COUNT(*) NI N, b.mahsulot_id, b.summa sifatida tanlang
FROM

FROM m_outcome GROUP BY product_id) AS a
ICHKI QO‘SHILMA
(mahsulot_identifikatorini tanlang, summa(summa*narx) AS summasi,
summa*10000000+mahsulot_identifikatori AS identifikatori
FROM m_outcome GROUP BY BY product_id) AS b
ON a.id>=b.id
GROUP BY b.mahsulot_id, b.summa
COUNT(*)<=5
COUNT (*);

Quvvatni yoqing Q055. Keyingi SQL so'rovi MS Access SQL da COS, SIN, TAN, SQRT, ^ va ABS matematik funktsiyalarini tanlashni ko'rsatadi:

SELECT (m_income dan count(*) ni tanlang) N sifatida, 3.1415926 pi, k,
2*pi*(k-1)/N x sifatida, COS(x) COS_, SIN(x) SIN_, TAN(x) TAN_,
SQR(x) SQRT_ sifatida, x^3 "x^3", ABS(x) ABS_ sifatida
FROM (COUNT(*) TANI k AS).
FROM m_income AS ICHKI JOIN m_income AS b ON a.id<=b.id
GRUP BY b.id) t;

DBMSga kirish

Microsoft Access - bu ma'lumotlar bazasini boshqarishning zamonaviy tizimlari uchun xos bo'lgan barcha xususiyatlar va imkoniyatlarni oqilona muvozanatlashtiradigan relyatsion turdagi DBMS. Relyatsion baza ma'lumotlarni qidirish, tahlil qilish, qo'llab-quvvatlash va himoya qilishni osonlashtiradi va qolgan qismlar bir joyda saqlanadi. Ingliz tilidan tarjima qilingan Access "kirish" degan ma'noni anglatadi. MS Access eng kuchli, kuchli va eng oddiy DBMSlardan biridir. Bir qator dasturlarni yozmasdan ko'p sonli qo'shimchalarni yaratish mumkin, lekin agar siz undan ham murakkabroq narsani yaratishingiz kerak bo'lsa, MS Access juda oddiy dasturlash vositasi - Visual Basic ilovasidan foydalanishga imkon beradi.

Microsoft Access DBMS ning mashhurligi quyidagi sabablarga bog'liq:

Foydalanish imkoniyati va aql-idrok Accessni mavjud bo'lgan eng mashhur ma'lumotlar bazasini boshqarish dasturiy ta'minot tizimlaridan biri bo'lishiga imkon beradi;

OLE texnologiyasidan foydalanish imkoniyati;

Microsoft Office paketi bilan integratsiya;

Veb-texnologiyalarni to'liq qo'llab-quvvatlash;

Vizual texnologiya sizning harakatlaringiz natijalarini bosqichma-bosqich yaxshilash va ularni o'zgartirish imkonini beradi;

Ob'ektlarni rivojlantirish uchun ajoyib "ustalar" to'plamining mavjudligi.

Dastur ishlaydigan ob'ektlarning asosiy turlari: jadval, so'rov, forma, rasm, yon, makros, modul.

Jadval - bu ma'lumotlarni saqlash uchun ishlatiladigan ob'ekt. Teri jadvali qo'shiq turi ob'ekti haqida ma'lumotni o'z ichiga oladi. Jadvalda turli ma'lumotlar va yozuvlarni (satrlarni) saqlaydigan maydonlar (ustunlar) mavjud. Teri jadvali uchun terining noyob identifikatori bo'lgan asosiy kalit (teri yozuvi uchun noyob qiymatga ega bo'lgan bitta maydon yoki umumiy qiymati teri yozuvi uchun yagona bo'lgan bir qator maydonlar) bo'lishi kerak. jadval yozuvi.

Ma'lumotlarga kirish tezligini oshirish uchun jadval maydonlarini (yoki ularning umumiyligini) indekslarga bo'lish mumkin. Indeks - bu jadval satrlarining o'ziga xosligini ta'minlash imkonini beruvchi asosiy qiymatlarni saralash orqali jadvalda saralashni qidirishni tezlashtiradigan xususiyat. Jadvalning asosiy kaliti avtomatik ravishda indekslanadi. Ushbu turdagi ma'lumotlarni o'z ichiga olgan maydonlar uchun indekslarni yaratishga yo'l qo'yilmaydi.

So'rov - foydalanuvchilarga bir yoki bir nechta jadvallardan kerakli ma'lumotlarni olish imkonini beruvchi ob'ekt. Qo'shimcha so'rovlar yordamida siz allaqachon bilganingizdek, bir yoki bir nechta jadvallar ma'lumotlari asosida yangi jadvallar yaratishingiz mumkin. Kirishning eng katta turi namunaga qo'llaniladi. Tanlash buyrug'i berilgan tartibda bir yoki bir nechta jadvallardan ma'lumotlarni tanlaydi va keyin ularni kerakli tartibda ko'rsatadi.

Shakl - bu asosan ma'lumotlarni kiritish, ularni ekranda ko'rsatish yoki dasturdan foydalanish uchun ishlatiladigan ob'ekt.

Ovoz - bu hujjat yaratish uchun ishlatiladigan ob'ekt bo'lib, u keyinchalik bo'linishi yoki boshqa dasturlar tomonidan hujjatga kiritilishi mumkin.

dasturiy ta'minot bazasining vizual sxemasi

Storinka - Access oqim ma'lumotlar bazasidan ma'lumotlarga kirish uchun vikorist.

Makro qo'shiqqa javoban Access kirish uchun mas'ul bo'lgan bir yoki bir nechta harakatlarning tuzilgan tavsifini ta'minlovchi ob'ektdir.

Modul - Microsoft Visual Basic-dagi dasturlar bilan o'rnatilishi mumkin bo'lgan ob'ekt bo'lib, u sizga jarayonni kichikroq qismlarga bo'lish va asosiy makroslardan bilish mumkin bo'lmagan xatolarni aniqlash imkonini beradi.

DBMSni ishga tushirish uchun Ishga tushirish - Dasturlar - Microsoft Access-ga o'ting. Viconati jamoasi Fayl - Yaratish.

Ma'lumotlar bazasi ob'ektlari bilan robot interfeysi birlashtirilgan. Teriga ko'ra standart ish rejimlari o'tkaziladi: Yaratish (ob'ektlarning tuzilishini yaratish); Konstruktor (ob'ektlar tuzilishini o'zgartirish); Ochish (Ko'rib chiqish, ishga tushirish - ma'lumotlar bazasi ob'ektlari bilan ishlash maqsadlari).

SQL so'rovlari tili

SQL (Structured Query Language - tuzilgan til so'rovlari) 1986 yildan beri rub. ê standart relyatsion ma'lumotlar bazalari. Zokrema, Access va Excel dasturlarida vikoristvaetsya.

SQL - bu saqlangan ma'lumotlarni tavsiflash, saqlangan ma'lumotlarni ajratib olish va ma'lumotlarni o'zgartirish uchun ishlatiladigan axborot-mantiqiy til. Dastlab, SQL ma'lumotlar bazasi va kichik buyruqlar (operatorlar) to'plami bilan ishlashning asosiy usuli bo'lib, ular jadval yaratish, jadvalga yangi yozuvlar qo'shish, jadvaldan yozuvlarni, o'chirilgan yozuvlarni olib tashlash va jadval tuzilmalarini o'zgartirish imkonini beradi. Tilning murakkabligi bilan bog'liq holda, SQL mening amaliy dasturlashimga aylandi va ishlab chiquvchilar vizual budilniklardan foydalanish qobiliyatini yo'qotdilar.

SQL tili bir qator operatorlardan iborat:

ma'lumotlarni aniqlash operatorlari (Data Definition Language, DDL);

ma'lumotlarni manipulyatsiya qilish operatorlari (Data Manipulation Language, DML);

ma'lumotlarga kirish operatorlari (Data Control Language, DCL);

tranzaktsiyalarni boshqarish operatorlari (Transaction Control Language, TCL).

MS Access da so'rovlar SQL tili yordamida saqlanadi va amalga oshiriladi. Agar siz ko'proq so'rovlar yozmoqchi bo'lsangiz, ularni grafik tarzda bajarishingiz mumkin (so'z bilan so'rov), lekin SQL bayonotlari bilan bog'liq muammolardan qoching. Ba'zi hollarda (masalan, engilroq so'rovlarda) siz faqat SQL tilidan foydalanishingiz mumkin.

SQL protsessual bo'lmagan tilga kengaytirilgan. U shunchaki pul topish kerakligini e'lon qiladi va uni DBMS (ma'lumotlar bazasini boshqarish tizimi) ga ishonib topshiradi.

SQL uchta qiymatli mantiqqa ega. An'anaviy mantiqiy qiymatlar TRUE va FALSE o'rniga NULL (MA'LUMOTLARNI KO'RSATMAYLIGI yoki NULLITY) bilan almashtiriladi.

Operatsiyalar boshqa til dasturlashda bo'lgani kabi alohida elementlarda emas, balki butun ma'lumotlar to'plamida ishlaydi.

SQL tilidagi so'rov ko'rsatmalardan iborat. Teri ko'rsatmalari teriga bir necha daqiqa davomida qo'llanilishi mumkin.

SQL - ma'lumotlar bazasini yaratish va boshqarish, shuningdek, ma'lumotlarning o'zi bilan turli xil tadbirlarni amalga oshirish uchun eng keng tarqalgan dasturlardan biri.

Amaliyot shuni ko'rsatadiki, ingliz tilining eng oddiy va eng aniq standart lug'atiga erishish mumkin. Boshqa har qanday dasturlash singari, SQL ham o'z mantiqiy va sintaksisiga, asosiy buyruqlar va ularni sharhlash qoidalariga ega.

Movi SQL buyruqlarining tasnifi

Barcha standartlarni ularning ma'nolaridan kelib chiqadigan holda ko'rish mumkin. So'zsiz tasniflash uchun quyidagi to'plamlarni asos qilib olish mumkin:

    Uyg'otuvchi qo'ng'iroqlar uchun buyruqlar.

    Protsedura va funksiyalarni kiritish buyruqlari.

    Trigger buyruqlari va tizim jadvallari.

    Sana va qator o'zgarishlari bilan ishlash uchun kombinatsiyalar to'plami.

    Berilgan jadvallar bilan robotlar uchun buyruqlar.

Ushbu tasnifni cheksiz davom ettirish mumkin, ammo SQL buyruqlarining asosiy to'plamlari ushbu turlardan hosil bo'ladi.

Tilning tasnifiga qarab, uning universal, ya'ni lug'at doirasi ekanligini taxmin qilish mumkin emas. Ushbu dasturlash va uning turli xil vazifalari standart o'rtadagidan kam emas, balki boshqa dasturlarda ham, har qanday holatda ham g'alaba qozongan.

SQL tadqiqotining ko'lamini ofis dasturlari, MicrosoftAccess nuqtai nazaridan ko'rish mumkin. Ushbu til, aniqrog'i, uning versiyasi - MySQL Internetda ma'lumotlar bazalarini boshqarish imkonini beradi. Mana Oracle rivojlanishining yuragi: uning SQL buyruq so'rovlarining yadrosi.

MicrosoftAccess SQL Wikorist

Ma'lumotlar bazasini dasturlash uchun eng oddiy Internet ilovalaridan biri Microsoft Office dasturiy paketidir. Ushbu dasturiy mahsulot maktab informatika kursida o'qitildi va o'n birinchi sinf MicrosoftAccess ma'lumotlar bazasini boshqarish tizimini qamrab oldi.

Ilg'or tayyorgarlik bilan talabalar ma'lumotlar bazalarini ishlab chiqish bilan tanishadilar va ularga kiradigan barcha narsalar haqida asosiy tushunchalarni rivojlantiradilar. Access SQL buyruqlari yanada ibtidoiydir, ayniqsa ularni professional darajada ko'rish mumkin. Bunday buyruqlar dizayni juda oddiy va kod muharririda yaratilgan.

Keling, ma'lum bir dumbani ko'rib chiqaylik:

Familiyani tanlang

WHERE Pe_Name = "Meri";

Buyruqning sintaksisiga asoslanib, bu, ehtimol, bir kishining taxallusi ekanligini tushunishingiz mumkin, bu holda Meri ismli ayol, bu Kontaktlar ma'lumotlar bazasi jadvalida saqlanadi.

Access-da SQL-ni o'zgartirmoqchi bo'lsangiz ham, o'rnatilgan vazifani osongina o'zgartirishingiz mumkin.

Oracle SQL buyruqlar wiki

Oracle Microsoft SQL Serverning yagona jiddiy raqibidir. Rivojlanish va boshqaruv markazining o'zi asta-sekin Microsoft dasturiy mahsuloti funktsiyalarini mukammallashtirishga olib keladi, chunki raqobat taraqqiyotning dvigatelidir. Superniylik pozitsiyasidan qat'i nazar, SQL Oracle buyruqlari SQLni takrorlaydi. Oracle SQL ning deyarli to'liq nusxasiga tayansa-da, uning tizimi va umuman mantiqiy jihatdan soddalashtirilgan.

Cheklangan buyruqlar majmuasiga ega Oracle tizimi bunday murakkab tuzilishga ega emas. Ma'lumotlar bazalarida ma'lumotlarni ishlab chiqish imkoniyatlarini hisobga olgan holda, Oracle ichki so'rovlarning murakkab tuzilishiga ega emas.

Bu farq sizga ma'lumotlar bilan ishlashni ko'p marta tezlashtirishga imkon beradi yoki aksincha, bir nechta holatlarda irratsional xotira yo'qolishiga olib keladi. Oracle tuzilishi vaqt jadvallari va yogo vikoristanny asosida muhim ahamiyatga ega. Misol tariqasida: bu tizimdagi SQL buyruqlari tilning SQL standartlariga o'xshash bo'ladi, lekin ular yangilaridan biroz farq qiladi.

SELECTCONCAT(CONCAT(CONCAT('Spivrobitnik', sname), CONCAT(SUBSTR(fname, 0, 1), SUBSTR(otch, 0, 1))), CONCAT('ishga qabul qilish', qabul qilingan sana)) Qabul qilingan QAYoda xodimlardan > to_sana ('01.01.80', 'dd.aa.yyyy');

Bu, ehtimol, birinchi soatda ishga qabul qilingan ishchilar haqida ma'lumot so'raydi. So'rovning tuzilishi har xil bo'lsa-da, bu tizimlardagi SQL buyruqlarining tuzilishi boshqa tafsilotlardan tashqari o'xshashdir.

Wikoristannya SQL Internetning chekkasida

World Wide Web, Internet paydo bo'lishi bilan SQL tilini o'rganish doirasi kengayib bormoqda. Ko'rinishidan, juda ko'p ma'lumotlar saqlanadi, garchi u tasodifiy taqsimlanmagan bo'lsa-da, lekin veb-saytlar va serverlarga ma'lum mezonlarga muvofiq joylashtirilgan.

Boshqa joylarda bo'lgani kabi Internetda ma'lumotlarni saqlash uchun ma'lumotlar bazalari va boshqaruv tizimlariga ega veb-saytlar mavjud. Qoidaga ko'ra, veb-saytlar va ularning dastur kodi turli tillarda tuzilgan va ma'lumotlar bazalari SQL turlaridan biriga asoslanadi va ma'lumotlar bazasi o'zi MySQL veb-interfeysiga yo'naltirilgan.

Ushbu fayllardagi sintaksis va asosiy buyruqlar to'plami asosan barcha SQL-da topilganlar bilan bir xil, ba'zi qo'shimchalar esa uni Microsoft TSQL Server ostida boshqarishga imkon beradi.

SQL buyruqlari sintaksis va xizmat ko'rsatish so'zlarining standart to'plamiga mutlaqo o'xshash. Farqi savolning tuzilishida. Masalan, siz maktablarda bolalarga axborot texnologiyalarini o'rgatadigan birinchi narsa bo'lgan yangi jadval yaratish so'roviga qarashingiz mumkin:

$link = mysqli_connect("localhost", "root", "", "tester");

if (!$link) die("Xato");

$query = "jadval foydalanuvchilarini yaratish (

login VARCHAR(20),

parol VARCHAR(20)

if (mysqli_query($link, $query)) echo "Jadval yaratildi.";

elseecho "Jadval yaratilmadi: ".mysqli_error();

mysqli_close($link);

Ushbu yozuv natijasida siz ikkita maydonga ega bo'lgan yangi "Foydalanuvchilar" jadvalini yaratishingiz mumkin: login va parol.

Sintaksis Web uchun o'zgartirildi, lekin MicrosoftSQLServer buyruqlariga asoslangan.

Pobudova zapitiv MicrosoftSQLServer

Yagona ma'lumotlar to'plami uchun tanlov jadvali asosiy SQL vazifalaridan biridir. Bunday operatsiyalar uchun SQL-ni tanlash buyrug'i o'zgartirildi. Keling, uning o'zi haqida kamroq gapiraylik.

Prompt buyrug'ining qoidalari juda oddiy va SQLda tanlash buyrug'ining o'zi shunday bo'ladi. Masalan, koronavirus haqidagi ma'lumotlarni o'z ichiga olgan jadval mavjud bo'lib, u, masalan, Shaxs deb nomlanishi mumkin. Jadvaldan tug'ilgan sanasi joriy yilning birinchi va joriy yilning birinchi fevraligacha bo'lgan slavyan xalqi haqidagi ma'lumotlarni tanlash kerakligi talabini qo'ydik. Bunday tanlov uchun siz standart konstruktsiyaga ega bo'lgan SQL buyrug'ini kiritishingiz kerak, ammo quyidagilarni tanlang:

Shaxsdan * ni tanlang

Bu erda P_BerthDay >= '01/01/2016' va P_BerthDay<= ‘03/01/2016’

Bunday jamoaning tug'ilishi Sovet Ittifoqi haqidagi barcha ma'lumotlarga to'g'ri keladi, uning milliy kuni siz belgilagan davrga to'g'ri keladi. Ba'zan taxallusingiz, ismingiz yoki otangizning ismini kiritishingiz kerak bo'lishi mumkin. Kim uchun siz biroz boshqacha so'rashingiz kerak, masalan, ushbu tartibda:

SelectP_Name - nomlar

P_SurName - taxallus

P_Patronimic - otasining yo'lida

Bu erda P_BerthDay >= '01/01/2016' va P_BerthDay<= ‘03/01/2016’

Biroq, hamma narsa nimani tanlashga bog'liq. Vin, aslida, hech narsaga hissa qo'shmaydi, aksincha, ma'lumot beradi. Agar siz SQL-ga jiddiy kirishga qaror qilsangiz, ma'lumotlar bazalariga qanday o'zgartirishlar kiritishni o'rganishingiz kerak bo'ladi, ularning ba'zilari ularsiz shunchaki imkonsizdir. Agar siz biroz pastroqqa qarasangiz, qanday qilib qo'rqishingiz mumkin?

Ma'lumotlarni o'zgartirish uchun asosiy SQL buyruqlari

Til so'rovlarining sintaksisi so'rovlarni bajarish va ma'lumotlarni manipulyatsiya qilish kabidir. Ma'lumotlar bazasi dasturining asosiy vazifasi tanlovlar va ma'lumotlar uchun skriptlarni yozishdir, aks holda jadvalga tahrir qilish kerak. Bunday harakatlar uchun SQL buyruqlar ro'yxati kichik va uchta asosiy buyruqdan iborat:

    Insert (nasl. Insert).

    Yangilash (nasl. Yangilash).

    O'chirish (nasl. Vidality).

Ushbu buyruqlarning maqsadini tushunish oson, buning uchun ularning nomini tarjima qilish kifoya. Ushbu buyruqlardan foydalanish oson va ularning harakatlari noto'g'ri ishlatilsa, noto'g'ri ma'lumotlar bazasini yaratishi mumkinligini taxmin qilish uchun murakkab so'rov namunasini yaratishi mumkin.

Qoidaga ko'ra, bunday MSSQL buyruqlarini ishlatishdan oldin, ularning kelib chiqishining barcha mumkin bo'lgan oqibatlarini o'ylab ko'rish va hisobga olish kerak.

Ushbu buyruqlarni bajarib, siz robotni ma'lumotlar bazasi jadvallari bilan to'liq chop etishingiz mumkin, shu bilan ularni o'zingiz o'zgartirishingiz va har qanday yangi o'zgaruvchilarni kiritishingiz yoki eskilarini o'chirishingiz mumkin.

Buyruqni kiritish

Jadvalga ma'lumotlarni kiritish uchun eng xavfsiz buyruq Insert. Noto'g'ri kiritilgan ma'lumotlar o'chirilishi va ma'lumotlar bazasiga qayta kiritilishi mumkin.

Insert buyrug'i jadvalga yangi ma'lumotlarni kiritish uchun ishlatiladi va sizga yangi to'plam yoki tanlov qo'shish imkonini beradi.

Masalan, shaxs jadvali uchun avval tasvirlangan kiritish buyrug'ini ko'rib chiqamiz. Jadvalga ma'lumotlarni kiritish uchun barcha ma'lumotlarni jadvalga kiritish yoki tanlab to'ldirish imkonini beruvchi SQL buyrug'ini kiritish kerak.

Shaxsga kiriting

"Grigor'ev", "Vitaliy", "Petrovich", "01.01.1988" ni tanlang.

Bunday rejaning buyruqlari avtomatik ravishda jadvalning barcha o'rta qismlarini tayinlangan ma'lumotlar bilan to'ldiradi. Spivorotenik otasi uchun ishlamaydigan holatlar mavjud, aytaylik, u Germaniyadan almashish uchun ishlashga kelganida. Bunday holda, jadvalga barcha kerakli narsalarni kiritish uchun ma'lumotlarni kiritish buyrug'ini kiritishingiz kerak. Ushbu buyruqning sintaksisi quyidagicha bo'ladi:

Insertintoperson(P_Name, P_SurName, P_BerthDay)

Qadriyatlar ('David', 'Hok','02/11/1986')

Ushbu buyruq har qanday o'rta qiymatlarni saqlaydi va qiymatni null ga o'rnatadi.

Ma'lumotlarni o'zgartirish buyrug'i

Ikkala qatordagi va ba'zilari o'rtadagi ma'lumotlarni o'zgartirish uchun SQLni yangilash buyrug'idan foydalaning. Bunday buyruqni katta aniqlik bilan kiritish va qaysi qatorga raqam bo'yicha o'zgartirish kiritish kerakligini aniq ko'rsatish kerak.

Update SQL buyrug'i oson sintaksisga ega. To'g'ri vykoristaniya uchun qaysi ustunda va qaysi yozuvda varto o'zgarishini ko'rsatish kerak. Dali skriptni va vikonati yogoni katlaydi. Keling, dumbani ko'rib chiqaylik. 5 raqami ostida fuqarolar jadvali oldiga kiritilgan Devid Xukning tug'ilgan sanasini o'zgartirish kerak.

P_BerthDay = "02/10/1986" ni o'rnating, bunda P_ID = 5

Umova (ushbu skriptda) jadvaldagi barcha yozuvlar uchun tug'ilgan sanani o'zgartirishga ruxsat bermaydi, faqat zarur bo'lganlarni yangilaydi.

Dasturning aynan shu buyrug'i ko'pincha qo'llaniladi, chunki u barcha ma'lumotlarni to'liq buzmasdan jadvaldagi ma'lumotlarni o'zgartirishga imkon beradi.

Protsedura va funksiyalardan foydalanish buyruqlari

SQL tili yordamida siz ma'lumotlar bilan ishlash mexanizmlarini yozishingiz va yaratishingiz mumkin. Qoida tariqasida, ilgari yozilgan tanlovga rioya qilish kerak bo'lgan holatlar mavjud.

Mantiqiy xulosa chiqarish uchun siz tanlagan matndan nusxa ko'chirishingiz va uni to'g'ri joyga qo'yishingiz kerak, aks holda siz oddiyroq echimlar bilan shug'ullanishingiz mumkin. Keling, misolni ko'rib chiqaylik, agar ish interfeysida bir-biriga qo'ng'iroq qilish tugmasi bo'lsa, Excelda aytaylik. Bu operatsiya zarurat dunyosida yakunlanadi. Bunday maqsadlar uchun belgilangan tartiblar mavjud bo'lib, ular saqlanadi. Ushbu turdagi buyruqlar protseduraga joylashtiriladi va qo'shimcha SQLExec buyrug'i uchun chaqiriladi.

Faraz qilaylik, ilgari tasvirlangan Shaxs jadvalidagi odamlarning sanasini ko'rsatish uchun protsedura yaratilgan. Bu safar butun savolni yozishning hojati yo'q. Kerakli ma'lumotlarni olish uchun Exec [protsedura nomi] buyrug'idan chiqish va tanlash uchun zarur bo'lgan parametrlarni uzatish kifoya. Dumba kabi, siz ushbu turdagi protsedurani yaratish mexanizmiga qarashingiz mumkin:

CREATEPROCEDUREPprintPerson

@DBsmalldatetime

@DE smalldatetime

Shaxs sifatida * ni tanlang

HumanResources.vEmployeeDepartmentHistory dan

QAYERDA P_BerthDay >= @DB va P_BerthDay<= @DE

ANDEndDateISNULL;

Ushbu protsedura milliy kuni ma'lum bir soatda sodir bo'ladigan pratsivniki haqidagi barcha ma'lumotlarni qaytaradi.

Ma'lumotlarning yaxlitligini tashkil qilish. Trigeri

MS SQL buyruqlarining harakatlari, aytishimiz mumkinki, tuzadi, ma'lumotlar bilan manipulyatsiyani tashkil qilish va ularning yaxlitligini ta'minlash imkonini beradi. Bunday maqsadlar uchun dastur dasturning o'zi tomonidan yaratilgan tizimli tuzilmalardan foydalanadi. Ular ma'lumotlarni boshqarishni ta'minlaydigan triggerlar deb ataladi.

Va bu erda fikr o'zgarishini tashkil qilish uchun standart SQL so'rov buyruqlari qo'llaniladi. Triggerlarda siz ma'lumotlar bilan ishlash uchun juda ko'p aql va chegaralarni yaratishingiz mumkin, bu xodimlarga nafaqat ma'lumotlarga kirishga yordam beradi, balki ma'lumotlarni o'chirish, o'zgartirish yoki kiritishdan himoya qiladi.

Triggerda ishlatilishi mumkin bo'lgan SQL buyruqlarining turlari cheklanmagan. Keling, dumbani ko'rib chiqaylik.

Trigger yaratish mexanizmini tavsiflash uchun bu yerda SQL buyruqlarining turlari yaratilgan protseduralar bilan bir xil. Algoritmning o'zi quyida tavsiflanadi.

Avvalo, biz triggerlarni yaratish uchun xizmat ko'rsatish buyrug'ini tavsiflashimiz kerak:

Ma'lumotlar bilan har qanday operatsiya uchun ko'rsatilgan (bizning versiyamizda bu ma'lumotlarni o'zgartirish operatsiyasi).

Yaqin kelajakda biz jadval va o'zgarishlarni kiritamiz:

e'lon @ID int. @Sana smalldatetime @nID int. @nDatesmalldatetime

Inserted dan P_ID, P_BerthDay ni tanlash uchun C1 kursorini e'lon qiling

P_ID, o'chirilgandan P_BerthDay ni tanlash uchun C2 kursorini e'lon qiling

Biz ma'lumotlarni tanlash uchun vaqt oralig'ini belgilaymiz. Shundan so'ng, kursorlarning tanasida yangi odamga ruhiy reaktsiya yoziladi:

agar @ID = @nID va @nDate = "01/01/2016"

sMasseges "Operatsiyani bekor qilish mumkin emas. Sana mos emas"

Varto, tetikni bir soat davomida yoqish va yoqish mumkinligini taxmin qildi. Ushbu manipulyatsiyani dasturchi faqat SQL SERVER buyruqlarini berish orqali amalga oshirishi mumkin:

altertablePERSONdisabletriggerall - ushbu jadval uchun yaratilgan barcha triggerlarni yoqish uchun va, shubhasiz, altertablePERSONenabletriggerall - ularni yoqish uchun.

Ushbu asosiy SQL buyruqlari eng ko'p qo'llaniladi, ammo ularning kombinatsiyasi juda boshqacha bo'lishi mumkin. SQL kichik dasturlash tiliga o'xshaydi va ishlab chiquvchiga maksimal imkoniyatlarni beradi.

Visnovok

Bularning barchasi bilan siz bitta fikrni aytishingiz mumkin: SQL bilimi dasturlash bilan jiddiy shug'ullanmoqchi bo'lganlar uchun shunchaki zarurdir. Bu Internetda ham, uy ma'lumotlar bazalarida ham sodir bo'ladigan barcha operatsiyalarning markazida yotadi. Joriy dasturning o'zi ushbu tilning asosiy buyruqlarini bilishi shart, shuning uchun siz ulardan faqat kompyuteringizdan yordam olish uchun foydalanishingiz mumkin.

Albatta, butun dunyoda bo'lgani kabi, bir nechta kamchiliklar mavjud, ammo ular shunchalik ahamiyatsizki, ular yutuqlardan oldin ikkilanishadi. Barchamiz orasida SQL dasturlash o'z turi bo'yicha deyarli bir xil va u ham universaldir va skriptlar va kodlarni yozish bilimi deyarli barcha saytlarning asosidir.

SQL ning asosiy afzalligi shundaki, uni maktab dasturlarini amalga oshirishda bo'lmasa ham, soddaligi bilan osongina qadrlash mumkin. Siz u bilan bog'lanishingiz mumkin, tilda unchalik taniqli bo'lmagan qo'pol dasturchi.

MS Access DBMS qo'shimchasi jadvallar va massivlarda joylashgan ma'lumotlar bazalarini yaratish va saqlash uchun to'liq huquqli yordamchidir. Ma'lumotlar bazasi juda foydali bo'lgani uchun kerakli qiymatlarni topish qiyin.

Accessning o'zi so'rash kabi funksiyaga ega. Keling, u nima ekanligini va nima maxsus ekanligini ko'rib chiqaylik.

Microsoft Access da so'rovlarni yaratish

Access-da so'rovni qanday yaratishni o'rganish uchun ma'lumotlar bazasi bilan ishlashning asosiy tamoyillarini bilib oling.

Ushbu protsedurani bekor qilishning ikki yo'li mavjud:

  • So'rov konstruktori.
  • Ichimliklar ustasi.

Birinchi usul sizga barcha mavjud so'rovlardan barchasini qo'lda rejimda bajarishga imkon beradi, lekin ozgina harakat bilan, bu foydalanuvchi Access dasturi bilan ishni yakunlashi mumkinligi bilan bog'liq. Bundan tashqari, siz o'zingizning asosiy bo'limlaringiz haqida bilishni xohlaysizmi yoki yo'qligini bilib olishingiz mumkin. Boshqa usulga kelsak, uni hisobotda ko'rib chiqish kerak.

Yangi boshlanuvchilar uchun oson yo'l

Taniqli shaxs, sichqonchani bir necha marta bosish bilan, tizimni quvvatlantirish uchun kompyuter uchun zarur bo'lgan komponentlarni tanlaydi va keyin tanlangan kalit qiymatlari bo'yicha ro'yxatga olish kitobini tezda shakllantiradi. Siz ma'lumotlar bazasi bo'yicha oldindan ma'lumotga ega bo'lganingiz va foydalanuvchi Accessda so'rovlarni qanday yaratishni bilmagani uchun Master dasturi tanlangan.

Ushbu rejimda siz quyidagi turdagi so'rovlarni bilib olishingiz va ularni hal qilishingiz mumkin:

  • Kechirasiz.
  • Perehresny.
  • Subtitrsiz yozuvlar.
  • Takroriy yozuvlar.

Ushbu tanlov Maistrom bilan ishlashning birinchi bosqichida allaqachon qilingan. Va keyin, agar sizda aniq yozuvlar borligiga ishonch hosil qilsangiz, so'rov yuborish oson. Turli turlardan ma'lum.

Kechirasiz, so'radim

Jadvalga asoslangan ushbu vosita belgilangan maydonlardan kerakli ma'lumotlarni to'playdi. Nomining orqasida bu yangi boshlanuvchilar uchun eng mashhur ichimlik turi ekanligini ko'rishingiz mumkin. Afzalligi shundaki, bunday tartib yangi depozit uchun mavjud. Shunday qilib, Access 2010 da so'rovni qanday yaratish kerakligi haqidagi javob birinchi asosiy menyu ochilgandan keyin ham aniq bo'ladi.

Krossover quvvat manbai

Ushbu turdagi tanlov murakkab. Ushbu rejimda qo'shimcha "Master" uchun Access-da o'zaro so'rovni qanday yaratishni bilish uchun birinchi oynada ushbu funktsiyani bosishingiz kerak.

Ekranda asl nusxada ko'rsatilganidek, uchta elementni tanlashingiz mumkin bo'lgan jadval paydo bo'ladi.

Yo'qotilgan tanlanmagan maydonlardan biri jadval sarlavhasi sifatida kiritilishi mumkin. Jarayonning uchinchi bosqichida (peretin) funktsiyaning o'zgaruvchanligidan boshqa qiymat tanlanadi (o'rtacha qiymat, yig'indi, birinchi, qolgan).

Fotosuratda ortiqcha yuk yaratilganligi va ko'rsatilgan parametrlarga muvofiq kerakli harakatlar amalga oshirilganligi ko'rsatilgan.

Takroriy yozuvlar

Nomidan ko'rinib turibdiki, ushbu so'rovning asosiy maqsadi belgilangan parametrlar asosida jadvaldan barcha yangi qatorlarni tanlashdir. Bu shunday ko'rinadi:

Bundan tashqari, bir nechta satrlarda naqsh turini tanlash uchun qo'shimcha maydonlar tanlovi mavjud.

Takrorlanadigan yozuvlarni tanlash uchun siz yozuvlar ro'yxatini ochishingiz va u erda yangi papka yaratishingiz kerak. Keyin, "Yangi so'rov" oynasida "Qayta takrorlanadigan yozuvlarni qidirish" qatorini tanlang. Keyinchalik, Maistra ko'rsatmalariga amal qiling.

Sarlavhasiz yozuvlar

Bu "Meister - pastki matnsiz yozuvlar" rejimida mavjud yozuvlarning qolgan turi.

Ushbu tur uchun faqat bir xil maydondagi so'rovlar jadvaliga kiritilmagan, shuningdek allaqachon yaratilgan eng kichik qiymatlar tanlanadi.

Daniya turi faqat ma'lumotlar spratga asoslangan hollarda tegishli.

Ushbu turdagi so'rovlarning barchasi katlama elementlari bilan ishlashning asosiy nuqtasiga ega, ammo Access ma'lumotlar bazasida so'rovni qanday yaratishni osongina kengaytirish imkonini beradi.

MS Access da so'rovlar funksiyalari

Keling, ushbu masalani tavsiflash bilan nima tugatish kerakligini aniqlaylik. Access DBMSda barcha oddiy va murakkab so'rovlarni saqlash yaqin:

  • Jadvallardan kerakli ma'lumotlarni yig'ish, ularni ko'rib chiqish, tahrirlash, yangi qiymatlarni qo'shish.
  • Rangning turli shakllarini tayyorlash uchun ajoyib chiqish materiali.
  • Ekranda sumkalarni ko'rsatishdan (o'rtacha qiymat, summa, qiymat, sumkalar) butun ma'lumotlar to'plamlari bo'yicha matematik va statistik protseduralarni bajarish.

Vibirkani so'rang

Ushbu turdagi ma'lumotlar bazasi ishi murakkab va bir nechta jadvallarning ishtirokini talab qiladi.

Barcha jadvallarda bir nechta kalit maydonlar bo'lishi talab qilinadi. Siz operatsiyani boshqa yo'l bilan yakunlay olmaysiz.

Keling, Access-da tanlov uchun qidiruvni qanday yaratishni takrorlaymiz. Avval kerakli maydonlarni tanlab, oddiy so'rovni yaratishingiz kerak. Bu erda siz ma'lumotlarni haqiqatga moslashtirish uchun tahrirlashingiz mumkin. Har qanday o'zgarishlarni amalga oshirishdan oldin, ular chiqish jadvallariga o'tkaziladi, shuning uchun bu momentni tuzatish kerak bo'ladi.

Ochilgan dizayner oynasida "Qo'shilgan jadval" oynasi paydo bo'ladi. Bu erda siz chiqish qiymatlarini qo'shishingiz kerak bo'lgan jadvallar yoki yozuvlarni qo'shishingiz kerak.

Qo'shgandan so'ng, siz ongni to'ldirishni chop etishingiz mumkin. Nima uchun bizga "Maydon" qatori kerak? U yozish paytida ko'rsatiladigan jadvaldan qiymatlarni tanlashi kerak.

Amaliyotni yakunlash uchun siz "Viconati" tugmasini bosishingiz kerak.

Parametrlar bilan yozing

Bu ma'lumotlar bazalari bilan ishlashni o'rganishga yordam beradigan boshqa turdagi murakkab protsedura. Bunday faoliyatning asosiy yo'nalishlaridan biri hajmli ma'lumotlarga asoslangan ma'lumotlarni tayyorlash, shuningdek, ushbu natijalarni olishdir. Access 2007 da qo'shimcha dizaynerni qanday yaratish haqida quyida muhokama qilinadi.

Ushbu ma'lumotlarni tanlash protsedurasini boshlash uchun kerakli maydonlarni tanlash uchun oddiy so'rovni yaratishingiz kerak. Keyin, Dizayner rejimi orqali siz "Selection Mind" maydonini to'ldirishingiz kerak va kiritilgan qiymat asosida tanlov paydo bo'ladi.

Shunday qilib, Access parametri yordamida so'rovni qanday yaratishni o'rganish uchun javob oddiy - tanlash uchun chiqish parametrlarini kiriting. Konstruktor bilan ishlash uchun siz so'rovlar ustasi bo'lishingiz kerak. U erda filtrlash uchun asosiy ma'lumotlar yaratiladi, bu keyingi ish uchun asosdir.

Krossover quvvat manbaini kengaytirish

Keling, vaziyatni murakkablashtirishda davom etaylik. Access-da so'rovlarni qanday yaratish haqida ma'lumotni tushunish yanada muhimroq, ya'ni ma'lumotlar jadvali. Krossover allaqachon Maistrom bilan ishlash variantlaridan biri sifatida ko'rilgan. Biroq, bunday so'rovni "Dizayn" rejimida yaratishingiz mumkin.

Buning uchun Query Constructor - Interchange tugmasini bosishingiz kerak.

Chiqish jadvallarini qo'shish va tanlov maydonlarini to'ldirish imkoniyati menyusi ochiladi. Biz e'tibor berishimiz kerak bo'lgan yagona narsa - bu "guruh operatsiyasi" va "krossover stol" elementlari. Ular to'g'ri to'ldirilishi kerak, aks holda protsedura to'g'ri bajarilmaydi.

O'zaro almashish - bu bir nechta ma'lumotlardan ma'lumotlarni qidirish va tanlashning eng oddiy usuli, shuningdek, diagrammalar va grafiklarni yaratish qobiliyati.

Ushbu protsedura tugallangandan so'ng, qidiruv tugallanadi va rivojlanish uchun ko'plab variantlar mavjud.

Albatta, ish joyidagi o'simlikka ta'sir qilishi mumkin bo'lgan mavjud va "suv osti jinslari" mavjud. Misol uchun, tizim ma'lumotlar bazasini ustun qiymatlari bo'yicha saralashni boshlaganida, tizim muammoni ko'rsatadi. Keyin faqat standart nuqtalar bo'yicha saralash mumkin - "o'sish va pasayish".

Siz menga nima qilish kerakligini, Access-da so'rovni qanday yaratishni aytishingiz kerak - Master yoki Dizaynerning yordami uchun aybdorning o'zi aybdor. Agar ko'pchilik MS Access DBMS dan foydalanishni xohlasa, birinchi variant ko'proq mos keladi. Aje Meisterning o'zi miyani tanlashda koristuvachni bir necha marta bosishdan mahrum qilib, barcha ishlarni bajaradi.

Kengaytirilgan moslashtirishga erishish uchun ma'lumotlar bazalari bilan professional bilan bir qatorda ishlash kerakligi aniq. Ishda katta asoslar mavjud bo'lganligi sababli, ma'lumotlar bazasini yo'q qilish va ma'lumotlarni isrof qilishning oldini olish uchun soxtakorlarga murojaat qilish yaxshiroqdir.

Ê faqat dasturchilar uchun ochiq bo'lgan bir lahza. Mening asosiy DBMS SQL bo'lganligi sababli, kerakli so'rov dastur kodi sifatida yozilishi mumkin. Ushbu rejimda ishlash uchun allaqachon yaratilgan yozuv qatorini bosing va ochilgan kontekst menyusida "SQL Mode" ni tanlang.

Eng oddiy shaklda so'rov talab qilinadigan maydonlarning bitta jadvalini, ko'rsatilgan tanlovga mos keladigan yozuvlarni tanlashni va so'rov natijalarini ko'rishni o'z ichiga oladi.

Tanlash onglaridan tanlash uchun so'rovlarni loyihalash

Keling, Access-dagi tanlovni Mahsulot ta'minoti ma'lumotlar bazasining MAHSULOT jadvalidan ma'lumot olish misolidan ko'rib chiqaylik.

Zavdannya 1. Nomi uchun past xususiyatlarga ega mahsulotni tanlashni unutmang.

  1. Ma'lumotlar bazasi oynasida so'rov yaratish uchun sahifa yorlig'ini tanlang - Darvoza Guruhni (yaratish). Uni so'rang(So'rovlar) tugmasini bosing So'rov konstruktori(So'rovlar dizayni). Dizayn rejimida bo'sh tanlov oynasi paydo bo'ladi. PowerN(QueryN) va dialog oynasi Jadval qo'shish(Jadvalni ko'rsating) (4.2-rasm).
  2. Deraza oldida Jadval qo'shish(Jadvalni ko'rsatish) MAHSULOT jadvalini tanlang va tugmani bosing Qo'shish(Qo'shish). Tanlangan jadval ma'lumotlar sxemasi sohasida ko'rsatiladi. Derazani yop Jadval qo'shish(Jadvalni ko'rsatish) tugmachasini bosib Ovozingni o'chir(Yopish).

So'rovlar dizayneri oynasidagi harakatlaringiz natijasida (4.1-rasm) yuqori panelda jadvaldagi ushbu so'rov uchun tanlovlarni o'z ichiga olgan so'rovlar ma'lumotlari sxemasi paydo bo'ladi. Har safar bitta stol MAHSULOT. Jadval sohalarning xilma-xilligi bilan taqdim etilgan. Yulduzcha (*) bilan belgilangan jadval maydonlari roʻyxatining birinchi qatori barcha jadval maydonlarini bildiradi. Pastki panelda to'ldirilishi kerak bo'lgan shakl mavjud.

Bundan tashqari, sahifada yangi yorliq (So'rov asboblari | Dizayn) paydo bo'ladi va avtomatik ravishda faollashtiriladi (4.3-rasmda ushbu yorliqning bir qismi ko'rsatilgan), bu rangda yaratilgan so'rov turi ko'rinadi - Vibirka(Tanlash). Shu tarzda, provokatsiya qilayotganlar uchun oldindan tanlash uchun savol beriladi. Ushbu yorliqlardagi buyruqlar va so'rovni yaratishda kerakli amallarni bajarish uchun vositalar. Ushbu yorliq yangi so'rov yaratilganda yoki mavjud so'rov dizayn rejimida tahrirlanganda ochiladi.

  1. Ma'lumotlar naqshlari bilan har qanday jadvalni ko'rish uchun sichqoncha kursorini uning ustiga qo'ying va tugmani bosing. Qo'shish uchun - tugmani bosing Jadvalni ko'rish(Jadvalni ko'rsatish) guruhda Men uni birlashtiraman(So'rovni sozlash) yorlig'ida Savollar bilan ishlash | Konstruktor(So'rov asboblari | Dizayn) yoki buyruqni viscon Jadval qo'shing(Jadvalni ko'rsatish) ma'lumotlar diagrammasini bosadigan kontekst menyusida.
  2. Dizayner oynasida (kichik 4.4) MAHSULOT jadvalidagi maydonlar roʻyxatidan shakl ustunidagi RENT_PRICE, PRICE, AVAILABILITY_PRODUCT maydonlarini ketma-ket sudrab olib tashlang va ularni qatorga qoʻying. Maydon(Dala).
  3. Jadvaldagi kerakli maydonlarni kiritish ustuniga kiritish uchun so'rovni quyidagi usullar bilan tezlashtirishingiz mumkin:
    • Shaklning birinchi qatorini to'ldiraman Maydon(Maydon) Ro'yxat tugmasini bosing va ro'yxatdan kerakli maydonni tanlang. Ma'lumotlar sxemasi bilan ifodalangan jadval maydonlari ro'yxati;
    • Ikkalasi ham so'rov ma'lumotlari sxemasidagi jadval maydoni nomini bosing;
    • Jadvalning barcha maydonlarini yoqish uchun siz so'rovlar ma'lumotlari sxemasidagi jadval maydonlari ro'yxatidagi * (yulduzcha) belgisini sudrab yoki ikki marta bosishingiz mumkin.
  4. Siz, Milkovo, keraksiz maydonni shaklga sudrab kelganingiz uchun, uni o'chiring. Buning uchun kursorni hayvonning belgilash maydoniga olib boring, siz pastga qaragan qora o'qni ko'rasiz va sichqoncha tugmasini bosing. Bir-biringizni ko'rishni to'xtating. Buyruqni bosing yoki bosing Vidality stovptsi(Ustunlarni o'chirish) guruhdan Men uni birlashtiraman(So'rovni sozlash).
  5. Ketma-ket Ekranda ko'rsatilgan(Ko'rsatish) Maydonlarni tanlang, aks holda ular jadval kiritilmaguncha kiritilmaydi.
  6. Qatorga yozing Umovi tanlovi(Mezon) shakldagi shaklda ko'rsatilganidek, mahsulotni nomlash. 4.4. Agar siz operatordan foydalanishni tanlasangiz, = operatoridan foydalaniladi. Virusga qo'shilgan matn qiymatlari avtomatik ravishda qo'shiladigan katlama yorliqlariga kiritiladi.
  7. Natijalar guruhidagi "Ishga tushirish" yoki "Ko'rish" tugmasini bosish orqali qidiruvni boshlang. Jadval rejimida ekranda tanlangan tanlovga mos keladigan MAHSULOT jadvalidagi yozuv bilan oyna paydo bo'ladi.

HURMAT
Jadval rejimiga ma'lumotlar bazasi jadvalini ko'rish kabi tarzda kirishingiz mumkin. So'rovlar jadvalining ma'lumotlari orqali siz so'rov asosida joylashgan asosiy jadval ma'lumotlarini o'zgartirishingiz mumkin. Jadval ko'rinishida ko'rilgan yozuvni Access 2010 ma'lumotlar bazasi jadvaliga qo'shib bo'lmaydi. Qo'shish uchun bosing(Qo'shish uchun bosing), jadval tuzilishini o'zgartirish uchun tayinlangan. Sahifa yorlig'ida kimning rejimi Golovna(Uyga) Tugmalarning o'zi, shuningdek, ma'lumotlar bazasi jadvalini ochish paytida mavjud.

  1. Agar siz mahsulot nomini kiritishda xatolikka yo'l qo'ygan bo'lsangiz, mahsulot jadvalda topilmaydi. Naqshdagi mos operatorlar yulduzcha (*) va yetakchi belgi (?) (formulali so‘rovlar uchun qo‘llaniladigan ANSI-89 standarti) yoki ustki tuzilish belgisi (%) va yetakchi belgi (_) (ANSI-92) , SQL Server uchun standart sifatida tavsiya etilgan) , kerakli qatorlarni qidirishni soddalashtiradi va ko'plab mahsulotlarni olib tashlashga imkon beradi. Mahsulot uchun oʻzgartirish nomini kiriting: Korpus* yoki Korpus%. — soʻradi Vikonite. Agar mahsulot nomi maydonida bitta ma'no "Tana" so'zlari bilan boshlansa, natija oldingi qismdagi kabi yoziladi. Keyinchalik, kirishlar Like Corpus* operatori bilan to'ldiriladi. Ushbu operator matn maydonlarini qidirishda naqsh uchun belgilarni almashtirish imkonini beradi.
  2. Agar siz mahsulotlar sonini bilishingiz kerak bo'lsa, In operatoridan foydalaning. Bu dumaloq qo'llarga o'rnatilgan ro'yxatdagi har qanday qiymatning tengligini tekshirish imkonini beradi. Tanlovni Inga yozing ("MiniTower korpusi"; "HDD Maxtor 20GB"; "FDD 3.5"). Jadval uchta qatordan iborat bo'ladi. In operatori belgilarni naqshdan o'zgartirishga ruxsat bermaydi.
  3. Depozitni bosish orqali aringizni saqlang Fayl(Fayl) va buyruqni tanlang Saqlash(Saqlash). Deraza oldida Saqlash(Boshqa saqlash) Ilova nomini kiriting Ilova1. E'tibor bering, so'rovning nomi mavjud so'rovlarning nomlari va ma'lumotlar bazasidagi jadval nomlari bilan mos kelishi mumkin.
  4. Kontekst menyusi buyrug'idan joriy yozuvni yoping Ovozingni o'chir(Yopish) yoki tugmani bosish oynani ochadi Ovozingni o'chir(Yopish).
  5. Navigatsiya maydonidagi yozuvni ko'rish va kontekst menyusidan buyruqni tanlash orqali tejash yozuvini tanlang. Vidkriti(Ochiq).
  6. Buyruqni tahrirlash uchun uni navigatsiya maydonida ko'ring va kontekst menyusidagi buyruqni tanlang Konstruktor(Dizayn ko'rinishi).

Zavdannya 2. Iltimos, qiymati 1000 rubldan ortiq bo'lgan va bir parcha uchun ruxsat etilgan maksimal qiymat 10% dan ortiq bo'lgan tovarlarni tanlang va qiymati 2500 rubldan ortiq bo'lgan tovarlarni tanlashingiz kerak. Natijada mahsulot narxi (NAIM_TOV), uning narxi (TsINA) va maksimal ruxsat (RATE_ADV) bilan bog'liq.

  1. Dizayner sifatida yangi so'rov yarating, PRODUCT jadvalini qo'shing. Dizayner oynasida (4.5-rasm) MAHSULOT jadvalidagi maydonlar ro'yxatidan ketma-ket shaklga torting va HIRE_PRODUCT, PRICE, RATE_MAP maydonlarini kiriting.
  2. Yozing Umovi tanlovi(Mezon), shaklda ko'rsatilganidek. 4.5. Bir qatorda yozilgan aqllar orasiga mantiqiy VA operatsiyasi qo'shiladi. Turli qatorlarda yozilgan aqllar orasiga mantiqiy OR operatsiyasi qo'shiladi.
  3. Kiriting, tugmani bosing Viconati Guruhda (yugurish). Natijalar(Natijalar). Jadval rejimida ekranda MAHSULOT jadvalidagi belgilangan tanlovga mos keladigan yozuvlar bilan oyna paydo bo'ladi.
  4. Kursor so'rov sarlavhasiga qo'yilganda chaqiriladigan so'rovning kontekst menyusida quyidagi buyruqni tanlab, so'rovni saqlang. Sizga bering Butt2.

Zavdannya 3. Iltimos, topshiriqlar davri uchun hisob-fakturani tanlashda ikkilanmang. Natija hisob-faktura raqami (NOM_NAK), ombor kodi (CODE_SK), vandalizatsiya qilingan mahsulotning ko'rsatilgan sanasi (DATE_VIDGR) va asl element raqami (SUMA_NAKL) yo'qligi bilan bog'liq.

  1. Dizayn rejimida yangi yozuv yarating, INVOICE jadvalini qo'shing. Dizayner oynasida shakldagi barcha kerakli maydonlarni to'ldirish uchun INVOICE jadvalidagi maydonlar ro'yxatidan ketma-ket sudrab boring.
  2. Qatordagi DATE_VIDGR maydoni uchun Umovi tanlovi(Mezon) #11.01.2008# va #31.03.2008# orasida yozing. Between operatori sana oralig'ini belgilaydi (bir oyoqli # belgisi o'rniga ANSI-92). Bundan tashqari, ushbu operator raqamli qiymat uchun intervalni belgilash imkonini beradi.

Ajoyib video darsni mahkamlash uchun:

MS Access yordamida siz ma'lumotlar bazalari, jadvallar, shakllar va boshqa ma'lumotlarni yaratishingiz mumkin. Ushbu maqola MS Access-da SQL so'rovlarini bajarishga yordam beradi. Ma'lumotlar bazasidan ma'lumotlarni olish uchun siz SQL da ishlatadigan so'rovlardan foydalanishingiz mumkin. Ushbu maqola MS Access-dan endigina foydalanishni boshlagan va SQL so'rovlarini MS Access-ga o'zgartirmoqchi bo'lgan dasturchilar uchun mo'ljallangan. Bundan oldin e'lon qilish kerakligi bir fikrda - tashkilotda o'rganilayotgan ma'lumotlar bazasiga kirish imkoningiz borligi aniq.

Crocs


Sizga nima kerak

  • Koristuvach tashkilotning ma'lumotlar bazasiga kirishda aybdor
  • Koristuvach MS Access orqali kampaniya boshlanmaguncha texnologik yordam bilan bog'lanishi mumkin

Maqola haqida ma'lumot

Bu sahifa 4443 marta ko'rilgan.

Chi bula tsia statta korisna?

Access DBMS ikki turdagi so'rovlarga ega: QBE - belgilar uchun so'rov va SQL(Structured Query Language) - so'rovlarni strukturalash tili. So'rov "So'rov konstruktori" oynasida maxsus so'rov shaklini to'ldirish orqali shakllantiriladi. SQL - so'rovlar SQL ketma-ketligidan dasturchilar tomonidan yaratiladi - ko'rsatmalar. SQL, qoida tariqasida, dasturchilar tomonidan "Yaratish" yorlig'idagi "So'rovlar dizayneri" buyrug'i bilan ochiladigan so'rov formasida shakllantiriladi va "Ko'rish" menyusidan "SQL rejimi" tanlanadi. Ma'lumotlar bilan ishlash uchun til SQL topshiriqlari, keyin. relyatsion ma'lumotlar bazalarida ma'lumotlarni yaratish, o'zgartirish va boshqarish uchun.

ANSI-89 SQL va ANSI-92 SQL standartlariga mos keladigan bir qator SQL so'rov usullari (ANSI-89 SQL va ANSI-92 SQL so'rovlari rejimlari) mavjudligini unutmang.

SQL tilida ma'lumotlar to'plamini tavsiflash bo'yicha ko'rsatmalar. SQL bayonotlari takliflardan tuziladi (SELECT, FROM, WHERE va boshqalar). Takliflar Ingliz tilida SQL atamalardan (operatorlar, buyruqlar, identifikatorlar, konstantalar va boshqalar) iborat. Ko'rsatma bayonot bilan boshlanib (tanlash, CREATE, INSERT, UPDATE, DELETE va boshqalar buyruqlaridan biri) va nuqta bilan tugaydi. Asosiy SQL operatorlari: SELECT, FROM va WHERE.

Masalan, SQL bayonoti:
Student.StudentCode ni tanlang
Talabalardan;
“Talabalarni tanlang.Talaba kodeksi” va “Talabalardan” taklifidan iborat.

Taklif SELECT qasos operator TANLASH ID"Student.StudentCode". Bu yerda "Talabalar kodi" maydoni nomidan tashqarida ma'lumotlar bazasining "Talabalar" jadvali nomini almashtiradi. SELECT - kerakli ma'lumotlarni o'z ichiga olgan maydonni ko'rsatadi. FROM bandi FROM operatori va “Talabalar” identifikatoridan iborat. FROM - SELECT operatorida ko'rsatilgan maydonlarni o'z ichiga olgan jadvalni belgilaydi.

Esda tutingki, siz SQL formangiz sintaksisiga amal qilishingiz kerak. SQL tili sintaksisi ingliz tili sintaksisiga asoslanganligi muhim emas, lekin turli DBMSlar uchun SQL versiyalarining sintaksisi farq qilishi mumkin.

So'rovlarning bir qancha turlari mavjud: yozuvlarni tanlash, yangilash, qo'shish va o'chirish, o'zaro so'rov, yaratilgan va masofaviy jadval, birlashtirilgan jadval va boshqalar. Tanlovga eng keng assortiment qo'llaniladi. Iltimos, jadvallarga kiritiladigan kerakli ma'lumotlarni tanlash uchun variantni tanlang. Stol to'qiganlar uchun badbo'y hid yanada ko'proq yaratilgan.

SQL ni ko'rish uchun - Access 2003 yoki 2007 DBMSga tanlovni kiritish, faol dizayn oynasida SQL View/Mode buyrug'ini kiritish kerak (1-rasm).


Guruch.

1.



Access 2003 maʼlumotlar bazasidan talaba muvaffaqiyati mezoni “Score = 5” (2-rasm) asosida maʼlumotlarni tanlash uchun SQL bayonotidan (SELECT) foydalanamiz.

Guruch.

2.

© 2022 androidas.ru - Android haqida hamma narsa