Hazır sql sorğuları. SQL istifadə edərək məlumatların alınması üçün sadə sorğular. Bütün sütunları seçin

Beləliklə, forum verilənlər bazasında üç cədvəl var:

· istifadəçilər (istifadəçilər);

· mövzular (mövzular);

· yazılar (mesajlar).

Onların hansı məlumatları ehtiva etdiyinə baxmaq lazımdır. SQL-də bunun üçün bir operator var SEÇİN. Onun istifadəsi üçün sintaksis aşağıdakı kimidir:

SELECT what_select FROM where_select;

"nə_seç" əvəzinə ya dəyərlərini görmək istədiyiniz sütunun adını, ya da vergüllə ayrılmış bir neçə sütunun adını və ya ulduz (*) simvolunu göstərməlisiniz, bu da cədvəlin bütün sütunlarını seçmək deməkdir. “where_select” əvəzinə cədvəlin adını göstərməlisiniz.

Əvvəlcə istifadəçilər cədvəlindəki bütün sütunlara baxaq:

İstifadəçilərdən * SEÇİN;

Bu cədvələ daxil edilmiş bütün məlumatlardır.

Tutaq ki, yalnız id_user sütununa baxmaq lazımdır (mövzular cədvəlini doldurmaq üçün istifadəçilər cədvəlində hansı id_userlərin olduğunu bilməlisiniz). Bunu etmək üçün sorğuda bu sütunun adını göstərin:

İstifadəçilərdən id_user SEÇİN;

Məsələn, istifadəçilərin adlarına və e-poçtlarına baxmaq lazımdırsa, onda vergüllə ayrılmış maraq sütunlarını sadalamalısınız:

İstifadəçilərdən ad, e-poçt SEÇİN;

Eynilə, digər cədvəllərin hansı məlumatları ehtiva etdiyini görə bilərsiniz.

Əvvəlcə hansı mövzuların olduğunu görək:

Mövzulardan * SEÇİN;

İndi cədvəldə cəmi 4 mövzu var, bəs onlardan 100-ü olarsa necə? İstərdim ki, onlar, məsələn, əlifba sırası ilə göstərilsin. SQL-də bunun üçün açar söz var SİFARİŞ, ardınca çeşidləmənin baş verəcəyi sütunun adı. Sintaksis aşağıdakı kimidir:

Cədvəl_adından sütun_adı SEÇİN ORDER BY sort_column_name;

Varsayılan olaraq çeşidləmə artan qaydadadır, lakin bu, açar söz əlavə etməklə dəyişdirilə bilər DESC.

Məlumatlar indi azalan qaydada çeşidlənir.

Çeşidləmə eyni anda bir neçə sütun üzrə edilə bilər. Məsələn, aşağıdakı sorğu məlumatları mövzu_adı sütununa görə çeşidləyəcək və bu sütunda bir neçə eyni sətir varsa, id_author sütunu azalan qaydada çeşidlənəcək:

Nəticəni əvvəlki sorğunun nəticəsi ilə müqayisə edin.

Çox vaxt istifadəçi cədvəldəki bütün məlumatlara ehtiyac duymur. Məsələn, sveta istifadəçisi (id = 4) tərəfindən hansı mövzuların yaradıldığını öyrənməlisiniz. SQL-də bunun üçün açar söz var HARADA, belə bir sorğu üçün sintaksis aşağıdakı kimidir:

Cədvəl_adından sütun_adını SEÇİN HARƏ şərti;

Bizim nümunəmiz üçün şərt istifadəçi identifikatorudur, yəni. Bizə yalnız id_author sütununda 4 (istifadəçi ID sveta) olan sətirlərə ehtiyacımız var:

Mövzulardan * SEÇİN id_author=4;

İndi "velosipedlər" mövzusunu kimin yaratdığını öyrənməliyik:

Əlbəttə ki, müəllifin identifikatoru əvəzinə onun adı göstərilsəydi, lakin adlar başqa cədvəldə saxlanılsa, daha rahat olardı. Sonra, bir neçə cədvəldən məlumatların necə seçiləcəyinə baxacağıq. Bu arada, WHERE açar sözündən istifadə etməklə hansı şərtlərin təyin oluna biləcəyini öyrənək.

Operator Təsvir
= (bərabər) Göstərilən dəyərə bərabər olan dəyərlər seçilir. Nümunə: SEÇİN * FROM mövzuları HARADA id_author=4; Nəticə:
> (daha çox) Göstərilən dəyərdən daha böyük dəyərlər seçilir. Nümunə: SEÇİN * FROM mövzuları HARƏDƏ id_author > 2; Nəticə:
< (меньше) Göstərilən dəyərdən az olan dəyərlər seçilir. Nümunə: id_author olan Mövzulardan * SEÇİN< 3; Результат:
>= (böyük və ya bərabər) Göstərilən dəyərdən böyük və ona bərabər olan dəyərlər seçilir. Nümunə: SEÇİN * FROM mövzuları HARADA id_author >= 2; Nəticə:
<= (меньше или равно) Göstərilən dəyərdən kiçik və ona bərabər olan dəyərlər seçilir. Nümunə: id_author olan Mövzulardan * SEÇİN<= 3; Результат:
!= (bərabər deyil) Göstərilən dəyərə bərabər olmayan dəyərlər seçilir. Nümunə: Mövzulardan SEÇİN * FROM id_author != 1; Nəticə:
NULL DEYİL Göstərilən sahədə dəyərləri olan sətirləri seçir. Nümunə: id_author NULL OLMADIĞI Mövzulardan * SEÇİN; Nəticə:
NULL IS Göstərilən sahədə dəyəri olmayan sətirləri seçir. Nümunə: id_author NULL OLDUĞU Mövzulardan * SEÇİN; Nəticə:
Boş dəst – belə xətlər yoxdur.
ARASINDA (arada) Göstərilənlər arasında dəyərlər seçilir. Nümunə: 1 VƏ 3 ARASINDA id_author olan mövzulardan * SEÇİN; Nəticə:
IN (dəyər ehtiva edir) Göstərilənlərə uyğun gələn dəyərlər seçilir. Nümunə: SEÇ * FROM mövzulardan HERƏ id_author IN (1, 4); Nəticə:
DEYİL (dəyər daxil deyil) Göstərilənlərdən başqa dəyərlər seçilir. Nümunə: İD_author OLMADIĞI Mövzulardan * SEÇİN (1, 4); Nəticə:
BƏYƏNMƏK (uyğunluq) Nümunəyə uyğun olan dəyərlər seçilir. Nümunə: mövzu_adının "led%" KİMİ OLDUĞU Mövzulardan * SEÇİN; Nəticə:
LIKE operatoru üçün mümkün meta simvollar aşağıda müzakirə olunacaq.
BƏYƏNMƏYİR (uyğun deyil) Naxışa uyğun gəlməyən dəyərlər seçilir. Nümunə: Mövzu_adı "led%" SEÇMƏYƏN Mövzulardan * SEÇİN; Nəticə:

Mən artıq müxtəlif haqqında yazmışam SQL sorğuları, lakin daha mürəkkəb şeylər haqqında danışmaq vaxtıdır, məsələn, Bir neçə cədvəldən qeydləri seçmək üçün SQL sorğusu.

Siz və mən bir masadan seçim etdikdə hər şey çox sadə idi:

Cədvəl_adından HARADA seçim_şərtindən tələb olunan_sahələrin_adlarını SEÇİN

Hər şey çox sadə və mənasızdır, amma eyni anda bir neçə cədvəldən nümunə götürmək Bir az daha mürəkkəbləşir. Bir çətinlik sahə adlarını uyğunlaşdırmaqdır. Məsələn, hər cədvəldə bir sahə var id.

Gəlin bu sorğuya baxaq:

* Cədvəl_1, cədvəl_2 HARƏDƏ cədvəl_1.id > table_2.user_id SEÇİN

Bu cür sorğularla məşğul olmayan bir çoxları sahə adlarından əvvəl yalnız cədvəl adlarının əlavə edildiyini düşünərək hər şeyin çox sadə olduğunu düşünəcəklər. Əslində, bu, eyni sahə adları arasında ziddiyyətlərin qarşısını alır. Ancaq çətinlik bunda deyil, ondadır belə bir SQL sorğusu üçün alqoritm.

İş alqoritmi aşağıdakı kimidir: ilk qeyd ondan götürülür cədvəl_1. alır id bu girişdən cədvəl_1. Aşağıda tam şəkildə cədvəl var cədvəl_2. Və bütün qeydlər sahə dəyərinin olduğu yerə əlavə olunur İstifadəçi adı az id seçilmiş giriş cədvəl_1. Beləliklə, ilk iterasiyadan sonra görünə bilər 0-dan sonsuz sayda nəticəsində qeydlər. Növbəti iterasiyada növbəti cədvəl qeydi götürülür cədvəl_1. Bütün cədvəl yenidən skan edilir cədvəl_2, və seçmə şərti yenidən işə salınır table_1.id > table_2.user_id. Bu şərtə cavab verən bütün qeydlər nəticəyə əlavə edilir. Çıxış hər iki cədvəlin ümumi ölçüsündən dəfələrlə böyük olan çox sayda qeyd ola bilər.

İlk dəfədən sonra necə işlədiyini başa düşsəniz, əladır, amma yoxsa, tam başa düşənə qədər oxuyun. Bunu başa düşsəniz, daha asan olacaq.

Əvvəlki SQL sorğusu kimi, nadir hallarda istifadə olunur. Sadəcə olaraq verilmişdi bir neçə cədvəldən seçim alqoritminin izahı. İndi daha çömbəlməyə baxaq SQL sorğusu. Tutaq ki, iki masamız var: mallarla (bir sahə var sahib_idüçün məsuldur id məhsul sahibi) və istifadəçilərlə (bir sahə var id). Biz birini istəyirik SQL sorğusu bütün qeydləri əldə edin və hər birində istifadəçi və onun bir məhsulu haqqında məlumat var. Növbəti girişdə eyni istifadəçi və onun növbəti məhsulu haqqında məlumat var idi. Bu istifadəçinin məhsulları bitdikdə növbəti istifadəçiyə keçin. Beləliklə, biz iki cədvələ qoşulmalı və harada nəticə əldə etməliyik hər bir qeyd istifadəçi və onun məhsullarından biri haqqında məlumat ehtiva edir.

Oxşar sorğu 2 SQL sorğusunu əvəz edəcək: məhsullarla cədvəldən və istifadəçilərlə cədvəldən ayrıca seçmək üçün. Bundan əlavə, belə bir sorğu dərhal istifadəçiyə və onun məhsuluna uyğun olacaq.

Sorğunun özü çox sadədir (əgər əvvəlkini başa düşmüsünüzsə):

İstifadəçilərdən * SEÇİN, users.id = products.owner_id

Burada alqoritm artıq sadədir: cədvəldən ilk qeyd alınır istifadəçilər. Sonra alınır id və cədvəldəki bütün qeydlər təhlil edilir məhsullar olanları nəticəyə əlavə edir sahib_id bərabərdir id masadan istifadəçilər. Beləliklə, birinci iterasiyada ilk istifadəçidən bütün mallar toplanır. İkinci iterasiyada ikinci istifadəçinin bütün məhsulları toplanır və s.

Gördüyünüz kimi, Bir neçə cədvəldən seçim etmək üçün SQL sorğularıən sadə deyil, lakin onların faydaları çox böyük ola bilər, ona görə də belə sorğuları bilmək və istifadə edə bilmək çox arzuolunandır.

Siz proqramlaşdırmada yenisiniz və ya keçmişdə sadəcə SQL öyrənməkdən yayınmısınız? Sonra düzgün ünvana gəldiniz, çünki hər hansı bir tərtibatçı sonda bu sorğu dilini bilmək ehtiyacı ilə üzləşir. Siz əsas verilənlər bazası dizayneri olmaya bilərsiniz, lakin onlarla işləməkdən qaçmaq demək olar ki, mümkün deyil. Ümid edirəm ki, əsas SQL sorğu sintaksisinin bu qısa icmalı maraqlı tərtibatçıya və ona ehtiyacı olan hər kəsə kömək edəcəkdir.

SQL verilənlər bazası nədir?

Strukturlaşdırılmış Sorğu Dili ANSI tərəfindən dəstəklənən verilənlər bazası rabitə standartıdır. Ən son versiya SQL-99-dur, baxmayaraq ki, yeni standart SQL-200n artıq inkişaf mərhələsindədir. Əksər verilənlər bazası ANSI-92 standartına möhkəm uyğun gəlir. Daha müasir standartların tətbiqi ilə bağlı çoxlu müzakirələr aparılıb, lakin kommersiya verilənlər bazası təchizatçıları saxlanılan məlumatların saxlanması üçün öz yeni konsepsiyalarını inkişaf etdirərək bundan uzaqlaşırlar. Demək olar ki, hər bir verilənlər bazası ANSI standartına çox oxşar olsa da, bəzi unikal sintaksis dəstindən istifadə edir. Əksər hallarda, bu sintaksis əsas standartın uzantısıdır, baxmayaraq ki, bu sintaksis müxtəlif verilənlər bazaları üçün fərqli nəticələr verir. Xüsusilə gözlənilməz nəticələr əldə edirsinizsə, verilənlər bazası sənədlərini nəzərdən keçirmək həmişə yaxşı bir fikirdir.

Əgər siz SQL-də yenisinizsə, anlamalı olduğunuz bəzi əsas anlayışlar var.

Ümumiyyətlə, "SQL verilənlər bazası" əlaqəli verilənlər bazası idarəetmə sisteminin (RDBMS) ümumi adıdır. Bəzi sistemlər üçün "verilənlər bazası" həmçinin digər oxşar konstruksiyalardan mahiyyətcə ayrı hissə olan cədvəllər, verilənlər və ya konfiqurasiya məlumatları qrupuna aiddir. Bu halda hər bir SQL verilənlər bazası quraşdırması bir neçə verilənlər bazasından ibarət ola bilər. Digər sistemlərdə onlara cədvəllər deyilir.

Cədvəl verilənlər sətirlərini ehtiva edən sütunlardan ibarət verilənlər bazası strukturudur. Tipik olaraq, cədvəllər əlaqəli məlumatları ehtiva etmək üçün yaradılır. Eyni verilənlər bazasında bir neçə cədvəl yaradıla bilər.

Hər bir sütun işçilərin identifikasiya nömrələri, boy, avtomobil rəngi və s. kimi obyektlərin atributunu və ya atributları dəstini təmsil edir. Tez-tez sahə termini sütuna istinad etmək üçün istifadə olunur, ardınca "Ad sahəsində" kimi bir ad gəlir. Sıra sahəsi cədvəlin minimum elementidir. Cədvəldəki hər bir sütunun xüsusi adı, məlumat növü və ölçüsü var. Sütun adları cədvəl daxilində unikal olmalıdır.

Hər bir sıra (və ya qeyd) müəyyən bir obyektin atributlarının toplusunu təmsil edir, məsələn, bir sıra işçinin eyniləşdirmə nömrəsini, əmək haqqını, doğum ilini və s. Cədvəl sətirlərinin adları yoxdur. Müəyyən bir sıraya daxil olmaq üçün istifadəçi onu unikal şəkildə müəyyən edən bəzi atribut (və ya atributlar dəsti) göstərməlidir.

Verilənlərlə işləyərkən yerinə yetirilən ən mühüm əməliyyatlardan biri verilənlər bazasında saxlanılan məlumatların axtarışıdır. Bunun üçün istifadəçi sorğunu yerinə yetirməlidir.

İndi verilənlər bazası daxilində verilənlərin manipulyasiyasına diqqət yetirən verilənlər bazası sorğularının əsas növlərinə baxaq. Bizim məqsədlərimiz üçün bütün nümunələr istənilən mühitə uyğun standart SQL-də təqdim olunur.

Məlumat sorğularının növləri

SQL-də Data Manipulation Language (DML) adlanan dörd əsas məlumat sorğusu növü vardır:
SELECT – cədvəllərdən sətirləri seçin;
INSERT – cədvələ sətirlər əlavə etmək;
YENİLƏNİB – cədvəldə sətirlərin dəyişdirilməsi;
DELETE – cədvəldəki sətirləri silin;

Bu sorğuların hər birində verilənlər üzərində bəzi hərəkətləri yerinə yetirmək üçün istifadə olunan müxtəlif operatorlar və funksiyalar var. SELECT sorğusu ən çox seçimə malikdir. SELECT ilə birlikdə istifadə edilən JOIN və UNION kimi əlavə sorğu növləri də var. Ancaq hələlik biz yalnız əsas sorğulara diqqət yetirəcəyik.

İstədiyiniz məlumatları seçmək üçün SELECT sorğusundan istifadə edin

Verilənlər bazasında saxlanılan məlumatları əldə etmək üçün SELECT sorğusundan istifadə olunur. Bu sorğunun əsas təsiri tək bir cədvəllə məhdudlaşır, baxmayaraq ki, eyni zamanda bir neçə cədvəldən seçim etməyə imkan verən dizaynlar mövcuddur. Xüsusi sütunlar üçün bütün məlumat sətirlərini əldə etmək üçün belə bir sorğu istifadə olunur:
SEÇİN sütun1, sütun2 cədvəl_adından;

Siz həmçinin "*" joker simvolundan istifadə edərək cədvəldən bütün sütunları əldə edə bilərsiniz:
SEÇİN * cədvəl_adından;

Bu, xüsusi WHERE bəndi ilə məlumatları seçdiyiniz zaman faydalı ola bilər. Aşağıdakı sorğu "sütun1"in "3" dəyərini ehtiva etdiyi bütün sətirlərdən bütün sütunları qaytaracaq:
SEÇİN * cədvəl_adından HARADA sütun1=3;

“=” (bərabər) ilə yanaşı, aşağıdakı şərti operatorlar da mövcuddur:

Şərti ifadələr:
= Bərabər
<>Bərabər deyil
> Daha çox
< Меньше
>= böyük və ya bərabərdir
<= Меньше или равно

Bundan əlavə, siz BITWEEN və LIKE şərtlərindən, həmçinin AND və OR operatorlarının kombinasiyaları ilə WHERE şərti ilə müqayisə etmək üçün istifadə edə bilərsiniz.
* Cədvəl_adından SEÇİN ((Yaş >= 18) VƏ (Soyad 'İvanov' VƏ 'Sidorov' ARASINDA)) VEYA '%Motorola%' KİMİ Şirkət;

Rus tərcüməsində nə deməkdir: cədvəl_name cədvəlindən bütün sütunları seçin, burada yaş sütununun dəyəri 18-dən böyük və ya bərabərdir və Soyad sütununun dəyəri İvanovdan Sidorov daxil olmaqla əlifba sırasındadır və ya dəyər Şirkətin sütunu Motoroladır.

Yeni məlumat daxil etmək üçün INSERT sorğusundan istifadə edin

Yeni məlumat cərgəsi yaratmaq üçün INSERT sorğusu istifadə olunur. Mövcud məlumatları və ya boş cərgə sahələrini yeniləmək üçün YENİLƏNMƏ sorğusundan istifadə etməlisiniz.

Nümunə INSERT sorğu sintaksisi:
cədvəl_adı INSERT INTO (sütun1, sütun2, sütun3) VALUES ('data1', 'data2', 'data3');

Cədvəl sütunlarının göründüyü ardıcıllıqla bütün dəyərləri daxil etmək niyyətindəsinizsə, sütun adlarını buraxmaq istəyə bilərsiniz, baxmayaraq ki, bu oxunaqlılıq səbəblərinə görə üstünlük təşkil edir. Həmçinin, əgər siz sütunları siyahıya salırsınızsa, daxil etdiyiniz dəyərlər həmin sıraya uyğun gəldiyi müddətcə onları verilənlər bazasında göründükləri sıra ilə sadalamaq məcburiyyətində deyilsiniz. Məlumatı olmayan sütunları siyahıya salmamalısınız.

Verilənlər bazasında artıq mövcud olan məlumatlar çox oxşar şəkildə dəyişdirilir.

YENİLƏNİB Sorğu və HARADA Vəziyyəti

UPDATE mövcud dəyərləri dəyişdirmək və ya bir sıra sahəni boşaltmaq üçün istifadə olunur, buna görə də yeni dəyərlər mövcud məlumat növünə uyğun olmalı və məqbul dəyərləri təmin etməlidir. Bütün sətirlərdəki dəyərləri dəyişmək istəmirsinizsə, onda WHERE bəndindən istifadə etməlisiniz.
YENİLƏNİB cədvəl_adı SET sütun1 = 'məlumat1', sütun2 = 'məlumat2' HARADA sütun3 = 'data3';

Dəyişmək istədiyiniz sütun da daxil olmaqla istənilən sütunda WHERE istifadə edə bilərsiniz. Bu, müəyyən bir dəyəri digəri ilə əvəz etmək lazım olduqda istifadə olunur.
UPDATE table_name SET FirstName = 'Vasily' WHERE FirstName = 'Vasily' AND LastName = 'Balqabaq';

Ehtiyatlı ol! DELETE sorğusu bütün sətirləri silir

SİL sorğusu verilənlər bazasından bir sıranı tamamilə silir. Tək bir sahəni silmək istəyirsinizsə, YENİLƏMƏ sorğusundan istifadə etməli və bu sahəni proqramınızda NULL-ə analoji olacaq dəyərə təyin etməlisiniz. Ehtiyatlı olun ki, DELETE sorğunuzu WHERE bəndi ilə məhdudlaşdırın, əks halda cədvəlin bütün məzmununu itirə bilərsiniz.
DELETE FROM table_name WHERE column1 = 'data1';

Sətir verilənlər bazanızdan silindikdən sonra onu bərpa etmək mümkün deyil, ona görə də “IsActive” adlı bir sütunun və ya buna bənzər bir sütunun olması məsləhətdir, onu null olaraq dəyişdirə bilərsiniz ki, bu da məlumatların görünüşünün o sıra kilidlidir.

İndi siz SQL sorğularının əsaslarını bilirsiniz

SQL verilənlər bazası dilidir və biz məlumat sorğularında istifadə olunan ən vacib və əsas əmrləri əhatə etdik. Burada əhatə olunmayan bir çox əsas anlayışlar var (məsələn, SUM və COUNT), lakin yuxarıda sadalaya bildiyimiz bir neçə əmr sizi aktiv olmağa və SQL adlı gözəl sorğu dilini daha dərindən öyrənməyə təşviq etməlidir.

Bölmə 4 İnformasiya sistemləri

SQL-ə giriş.

Cədvəllərin yaradılması, dəyişdirilməsi və silinməsi.

Cədvəldən məlumatların alınması.

SQL sorğularının yaradılması.

SQL-də verilənlərin emalı.

Məktəbdə bu mövzunun tədrisi üsulları.

SQL-ə giriş. SQL, cədvəllərdə saxlanılan əlaqəli məlumat dəstləri olan əlaqəli verilənlər bazalarını yaratmağa və işləməyə imkan verən strukturlaşdırılmış sorğu dilidir. Dil məntiqi olaraq bir-biri ilə əlaqəli əlaqə cədvəlləri dəstləri şəklində təqdim olunan verilənlərlə əməliyyatlara yönəldilmişdir. Bu dilin strukturlarının ən mühüm xüsusiyyəti onun bu emal proseduruna deyil, verilənlərin emalının son nəticəsinə diqqət yetirməsidir. SQL özü verilənlərin harada yerləşdiyini, indeksləri və hətta nəticə əldə etmək üçün hansı əməliyyatların ən səmərəli ardıcıllığından istifadə edilməli olduğunu müəyyən edir.

Əvvəlcə SQL istifadəçinin verilənlər bazası ilə işləməsinin əsas üsulu idi və aşağıdakı əməliyyatlar toplusunu yerinə yetirməyə imkan verirdi: verilənlər bazasında yeni cədvəl yaratmaq; cədvələ yeni qeydlər əlavə etmək; qeydlərin dəyişdirilməsi; qeydlərin silinməsi; bir və ya bir neçə cədvəldən qeydlərin seçilməsi (verilmiş şərtə uyğun olaraq); masa strukturlarının dəyişdirilməsi.

Vaxt keçdikcə SQL yeni saxlanılan obyektləri (məsələn, indekslər, görünüşlər, tetikleyiciler və saxlanılan prosedurlar) təsvir etmək və idarə etmək imkanı verdi. SQL proqram təminatı ilə verilənlər bazası arasında yeganə əlaqə mexanizmi olaraq qalır. Eyni zamanda, müasir DBMS-lər, eləcə də DBMS-lərdən istifadə edən informasiya sistemləri istifadəçiyə sorğuların vizual qurulmasının işlənmiş vasitələrini təqdim edir. Hər SQL ifadəsi yadır xahiş verilənlər bazasından verilənlər və ya verilənlər bazasındakı məlumatların dəyişməsinə səbəb olan verilənlər bazasına zəng.

Verilənlər bazasında hansı dəyişikliklərin baş verdiyinə uyğun olaraq aşağıdakı sorğu növləri fərqləndirilir: verilənlər bazasında yeni və ya mövcud obyektlərin yaradılması və ya dəyişdirilməsi; məlumat almaq; yeni məlumat (qeydlər) əlavə etmək; məlumatları silmək; DBMS-ə giriş.

Əlaqəli verilənlər bazasının əsas saxlama obyekti cədvəldir, ona görə də bütün SQL sorğuları cədvəllər üzərində əməliyyatlardır. Buna uyğun olaraq müraciətlər aşağıdakılara bölünür:

Cədvəllərin özlərində fəaliyyət göstərən sorğular (cədvəllərin yaradılması və dəyişdirilməsi);

Fərdi qeydlər (və ya cədvəl sıraları) və ya qeydlər dəstləri üzərində işləyən sorğular.

Hər bir cədvəl öz sahələrinin siyahısı (cədvəl sütunları) şəklində təsvir olunur, bunlar: hər bir sahədə saxlanılan dəyərlərin növü; cədvəllər arasında əlaqə (əsas və ikinci dərəcəli açarların təyin edilməsi); indekslərin qurulması üçün lazım olan məlumatlar.



Beləliklə, SQL-dən istifadə mahiyyət etibarı ilə hər cür sıra seçimlərinin yaradılmasına və dəstdə olan bütün qeydlər üzərində əməliyyatların yerinə yetirilməsinə əsaslanır.

SQL əmrləri aşağıdakı qruplara bölünür:

1. Verilənlərin təyini dilinin əmrləri - DDL (Data Definition Language). Bu SQL əmrləri müxtəlif verilənlər bazası obyektlərini yaratmaq, dəyişdirmək və silmək üçün istifadə edilə bilər.

2. Verilənlərə nəzarət dilinin əmrləri - DCL (Data Control Language). Bu SQL əmrlərindən istifadə etməklə siz verilənlər bazasına istifadəçi girişinə nəzarət edə və xüsusi verilənlərdən (cədvəllər, görünüşlər və s.) istifadə edə bilərsiniz.

3. Tranzaksiyaya nəzarət dili əmrləri - TCL (Tganstation Control Language). Bu SQL əmrləri əməliyyatın nəticəsini təyin etməyə imkan verir.

4. Verilənlərin manipulyasiya dilinin əmrləri - DML (Data Manipulation Language). Bu SQL əmrləri istifadəçiyə məlumatları verilənlər bazasına daxil və verilənlər bazasından çıxarmağa imkan verir.

SQL ifadələri aşağıdakılara bölünür:

Məlumat təyini operatorları ( Data Definition Language, DDL)

CREATE verilənlər bazası obyekti yaradır (verilənlər bazasının özü, cədvəl, görünüş, istifadəçi və s.)

ALTER obyekti dəyişir

DROP obyekti silir

Məlumat manipulyasiya operatorları ( Data Manipulyasiya Dili, DML)

SELECT müəyyən şərtlərə cavab verən məlumatları oxuyur

INSERT yeni məlumatlar əlavə edir

UPDATE mövcud məlumatları dəyişdirir

DELETE məlumatları silir

Məlumata çıxış tərifi operatorları ( Data Control Language, DCL)

GRANT istifadəçiyə (qrupa) obyekt üzərində müəyyən əməliyyatlar üçün icazələr verir

REVOKE əvvəllər verilmiş icazələri ləğv edir

DENY icazədən üstün olan qadağanı müəyyən edir

Əməliyyata nəzarət bəyanatları ( Transaction Control Language, TCL)

COMMIT əməliyyatı tətbiq edir.

ROLLBACK cari əməliyyat kontekstində edilən bütün dəyişiklikləri geri qaytarır.

SAVEPOINT əməliyyatı daha kiçik hissələrə bölür.

Üstünlüklər: 1. Xüsusi DBMS-dən müstəqillik (DDL və DML ehtiva edən SQL sorğu mətnləri bir DBMS-dən digərinə olduqca asanlıqla köçürülə bilər). 2. Standartların mövcudluğu (konkret SQL tətbiqinin ümumi qəbul edilmiş standarta uyğunluğunu və uyğunluğunu müəyyən etmək üçün standartların və testlər toplusunun mövcudluğu yalnız dilin “sabitləşməsinə” kömək edir). 3. Deklarativ (SQL-dən istifadə edərək proqramçı yalnız hansı məlumatların əldə edilməsi və ya dəyişdirilməsi lazım olduğunu təsvir edir)



Qüsurlar: 1. Relational data modelinə uyğunsuzluq 2. Təkrarlanan sətirlər 3. Nulllar 4. Sütunların sırasının soldan sağa açıq şəkildə göstərilməsi 5. Adsız sütunlar və dublikat sütun adları 6. “=” xüsusiyyətinə dəstəyin olmaması 7. İstifadə göstəricilər 8. Yüksək ehtiyat

2.2 Cədvəllərin yaradılması, dəyişdirilməsi və silinməsi.

Cədvəl yaratmaq:

Cədvəllər CREATE TABLE əmri ilə yaradılır. Bu əmr boş cədvəl yaradır - sətirləri olmayan cədvəl. Dəyərlər DML INSERT əmrindən istifadə edərək daxil edilir. CREATE TABLE əmri əsasən müəyyən qaydada müəyyən edilmiş sütun adları dəstini təsvir etməklə cədvəlləri müəyyən edir. O, həmçinin məlumat növlərini və sütun ölçülərini müəyyənləşdirir. Hər cədvəldə ən azı bir sütun olmalıdır.

Komanda sintaksisi:

CƏDVƏL YARADIN

( [()],

[()] ...);

Cədvəlin dəyişdirilməsi:

ALTER TABLE əmri onun imkanları bir qədər məhdud olsa da, mənalı formadır. Mövcud cədvəlin tərifini dəyişdirmək üçün istifadə olunur. Bir qayda olaraq, cədvələ sütunlar əlavə edir. O, bəzən sütunları silə və ya ölçüsünü dəyişə bilər, bəzi proqramlarda isə məhdudiyyətlər əlavə edə və ya silə bilər. Cədvələ sütun əlavə etmək üçün tipik sintaksis:

CƏDVƏLİ DƏYİŞTİRİN

ƏLAVƏ EDİN

;

Sütun cədvəldəki bütün sətirlər üçün NULL dəyəri ilə əlavə olunacaq. Yeni sütun cədvəlin son sütunu olacaq. Əslində, bir əmrdə vergüllə ayrılmış bir neçə yeni sütunu eyni anda əlavə edə bilərsiniz. Sütunları silmək və ya dəyişdirmək mümkündür. Çox vaxt sütunun dəyişdirilməsi sadəcə onun ölçüsünü artırmaq və ya məhdudiyyət əlavə etmək (çıxarmaq) ola bilər.
Cədvəl silin:

Onu silə bilmək üçün cədvəlin yaradıcısı olmalısınız. Beləliklə, məlumatlarınızı təsadüfən məhv etməkdən narahat olmayın, SQL əvvəlcə cədvəli verilənlər bazasından silməzdən əvvəl onu təmizləməyi tələb edəcək. İçində sətirləri olan cədvəl silinə bilməz. Cədvəlinizin boş olduğunu fərz edərək silmək üçün sintaksis aşağıdakı kimidir:

CƏDVƏL VERİN< table name >;

2.3 Cədvəldən məlumatların alınması

SELECT verilmiş şərti təmin edən verilənlər bazasından verilənlər toplusunu (seçimi) qaytaran SQL DML ifadəsidir. Əksər hallarda nümunə götürmə bir və ya bir neçə cədvəldən aparılır. SEÇİM sorğusunu formalaşdırarkən istifadəçi gözlənilən məlumat dəstini təsvir edir: onun növü (sütunlar dəsti) və məzmunu (dəstəyə daxil ediləcək qeyd üçün meyarlar, dəyərlərin qruplaşdırılması, qeydlərin göstərilmə sırası və s.) .

Müraciət aşağıdakı kimi icra olunur:Əvvəlcə cədvəldən bütün qeydlər götürülür, sonra dəstdəki hər bir qeyd üçün onun müəyyən edilmiş meyara uyğunluğu yoxlanılır. Əgər bir neçə cədvəlin birləşməsi həyata keçirilirsə, onda əvvəlcə cədvəllərin məhsulu tərtib edilir və yalnız bundan sonra yaranan dəstdən tələb olunan qeydlər seçilir.

Bu operatorla sorğu formatı:

Cədvəllər siyahısından sahələrin siyahısını SEÇİN HARADA şərtlər...

(*[sahələrin siyahısı]) FROM<список таблиц>

WHERE - hansı sətirlərin seçilməli və ya GROUP BY-ə daxil edilməli olduğunu müəyyən etmək üçün istifadə olunur.

GROUP BY - Ümumi dəyərləri olan sətirləri daha kiçik sətirlər dəstinin elementlərinə birləşdirmək üçün istifadə olunur.

HAVING - GROUP BY-dən sonra hansı sətirlərin seçilməli olduğunu müəyyən etmək üçün istifadə olunur.

ORDER BY - verilənlərin nəticə dəstini çeşidləmək üçün hansı sütunlardan istifadə olunduğunu müəyyən etmək üçün istifadə olunur.

Eyni məlumat dəsti müxtəlif sorğuların icrası ilə əldə edilə bilər. Verilmiş sorğu üçün optimal icra planını tapmaq optimallaşdırıcının vəzifəsidir.

2.4 SQL sorğularının yaradılması.

Sorğu verilənlər bazasından lazımi məlumatı seçmək vasitəsidir. Verilənlər bazası ilə bağlı yaradılan sual sorğudur. SQL sorğuları SQL ifadələrinin ardıcıllığından (proqramçılar tərəfindən) tərtib edilən sorğulardır. Bu təlimatlar çıxış dəstini yaratmaq üçün giriş məlumat dəsti ilə nə edilməli olduğunu müəyyən edir. Bütün Access sorğuları SQL sorğularına əsaslanır, onlara baxmaq üçün aktiv sorğu dizayn pəncərəsində View/SQL əmrini yerinə yetirmək lazımdır;

Sorğunun bir neçə növü var: seçin (yuxarıda verilmişdir), yeniləyin, əlavə edin, silin, çarpaz sorğulayın, cədvəllər yaradın. Ən çox görülən nümunə sorğudur. Seçim sorğuları istifadəçiyə lazım olan cədvəllərdə olan məlumatları seçmək üçün istifadə olunur. Onlar yalnız əlaqəli cədvəllər üçün yaradılmışdır.

SQL-də sorğu yaratmaq üçün əvvəlcə dizayn rejimində boş sorğu yaradırıq. Bunu etmək üçün Yarat tabında Sorğu Qurucusu seçin. Sonra, Dizayn sekmesinde, Modu seçin və sorğu qurma rejimini SQL rejiminə dəyişdirin.

SQL rejimində sorğunun yaradılması proqramlaşdırmaya bənzəyir, istifadəçi lazımi əmrləri əl ilə yazmalıdır; Məlumat seçmək sorğusu SEÇİM sözü ilə başlayır. Sonra cədvəlin tələb olunan sahələrini sadalamaq, cədvəlin adını çap etmək, nöqtə qoymaq və kvadrat mötərizədə bu cədvəldən sahənin adını yazmaq və s. Sahələr vergüllə ayrılır.

Sorğu FROM xidmət sözü ilə bitir, bundan sonra məlumatın götürüldüyü cədvəl göstərilir. Sorğu sətirinin sonunda nöqtəli vergül olmalıdır.

Sorğunun düzgün yazıldığını yoxlamaq üçün onu icra edək. Bunu etmək üçün Dizayn panelində Run düyməsini sıxın. Sorğunun nəticəsi cədvəldə göstəriləcək. Sorğu səhv yazılmışsa, səhv mesajı alınacaq. Bu halda, ilk növbədə, cədvəl və sahə adlarının düzgün yazılışını yoxlamaq lazımdır.

2.5 SQL-də verilənlərin emalı:

Sorğular məcmu funksiyalardan istifadə etməklə həyata keçirilən sahə dəyərlərinin ümumiləşdirilmiş qrup işlənməsini həyata keçirə bilər. SQL-də aşağıdakı məcmu funksiyalara icazə verilir:

COUNT - sorğunun seçdiyi satırların sayını və ya NULL olmayan sahə dəyərlərini hesablayır;

SUM - bu sahənin bütün seçilmiş dəyərlərinin arifmetik cəmini hesablayır;

AVG - bu sahənin bütün seçilmiş dəyərlərini ortalayır;

MAX - bütün seçilmiş dəyərlərdən ən böyüyü tapır və qaytarır

MIN - Verilmiş sahə üçün bütün seçilmiş dəyərlərin ən kiçikini tapır və qaytarır.

Cədvəl sahələrinin çıxışını sifariş etmək üçün SQL ORDER BY əmrindən istifadə edir ki, bu da sorğunun nəticəsini seçilmiş sütunların sayının dəyərlərinə görə çeşidləməyə imkan verir.

Çoxsaylı sorğuları bir araya gətirmək və çıxışı birləşdirmək üçün UNION bəndindən istifadə edin. UNION bəndi iki və ya daha çox SQL sorğusunun çıxışını bir sıra və sütunlar dəstində birləşdirir. UNION əmri çıxışdan dublikat sətirləri avtomatik aradan qaldırır.

Kompüter şəbəkələri

2 saylı laboratoriya işi

Mövzu: İstifadə edərək məlumatların alınması üçün sadə sorğular SQL.

İşin məqsədi: Təlimat sintaksisini öyrənin SQL SEÇİMİ , verilənləri əldə etmək üçün sadə sorğular yaratmaq üçün. Təkliflərdən istifadə HARADA təklifdə müəyyən edilmiş cədvəllərdən sətirlərin seçilməsi şərtlərini təyin etmək FROM . Bir neçə verilənlər bazası cədvəlindən verilənlərin seçilməsinin təşkilini öyrənin.

1. Məlumatların seçilməsi.

Cədvəllərdən qeydləri almaq üçün operator SQL-də müəyyən edilir SEÇİN . Bu əmrdən istifadə etməklə təkcə “seçmə” əlaqə cəbr əməliyyatı deyil, həm də iki və ya daha çox cədvəlin ilkin birləşməsi (birləşdirilməsi) yerinə yetirilir. Bu, ən mürəkkəb və güclü SQL alətidir, tam ifadə sintaksisidir SELECT belə görünür:

SEÇİN< список _ выбора >

FROM<имя_таблицы>, ...

[HARADA<условие> ]

[ QRUP BY <имя_столбца>,... ]

[ VAR< условие > ]

,... ]

Aşağıdakı bütün nümunələr verilənlər bazası ilə bağlıdır nəşrlər №1 laboratoriya işinin nümunəsindən istifadə edin. 1 (laboratoriya _1_ CƏDVƏL YARAT . htm ) buna görə də cədvəllər yaratmaq üçün sorğuların nəticələri burada göstərilmir.

Bəyanatda bəndlərin sırası SEÇİN ciddi şəkildə riayət edilməlidir (məs GROUP BY həmişə öndə olmalıdır SİFARİŞ ), əks halda səhvlərə səbəb olacaq.

Bu ifadə həmişə açar sözlə başlayır SEÇİN. Dizaynda<список_выбора> nəticəyə daxil ediləcək sütun və ya sütunları müəyyən edir. O, bir və ya bir neçə sütunun adından və ya bütün sütunları müəyyən edən tək "*" (ulduz) simvolundan ibarət ola bilər. Siyahı elementləri vergüllə ayrılır.

Müəlliflərdən müəllif SEÇİN;

bütün cədvəl sahələrinin siyahısını əldə edin müəlliflər:

Müəlliflərdən * SEÇİN;

Bizi bütün qeydlər deyil, yalnız müəyyən bir şərti təmin edənlər maraqlandırırsa, bu şərt açar sözdən sonra göstərilə bilər. HARADA . Məsələn, 1996-cı ildən sonra nəşr olunan bütün kitabları tapaq:

Başlıq SEÇİN BAŞLIQLARDAN HARA yearpub > 1996;

İndi fərz edək ki, 1995-1997-ci illər üçün bütün nəşrləri tapmalıyıq. Buşərti belə yazmaq olar:

BAŞLIĞI YARADAN yearpub>=1995 VƏ yearpub başlıqlarından SEÇİN<=1997;

Sonda qeyd edək ki, operatoru icra edərkən SEÇİN nəticədə yaranan əlaqə bütün sahələr üçün eyni dəyərlərə malik çoxlu qeydlərə malik ola bilər. Dublikat qeydləri seçimdən çıxarmaq üçün açar sözdən istifadə edin FƏRQLİ. Açar söz ALL bütün sətirlərin nəticəyə daxil edilməli olduğunu müəyyən edir.

2. Bir neçə cədvəldən nümunə götürmə.

Çox vaxt elə bir vəziyyət yaranır ki, verilənlər iki digər əlaqənin birləşməsinin nəticəsi olan əlaqədən nümunə götürülməlidir. Məsələn, verilənlər bazasından əldə etmək lazımdır nəşrlər aşağıdakı cədvəl şəklində bütün çap nəşrləri haqqında məlumat:

başlıq

illik pab

naşir

Bunun üçün DBMS əvvəlcə cədvəlləri birləşdirməlidir başlıqlar və nəşriyyatlar , və yalnız bundan sonra yaranan əlaqədən nümunə hazırlayın.

Bəyanatda bu cür əməliyyatı yerinə yetirmək üçün SEÇİN açar sözdən sonra FROM məlumatların axtarıldığı cədvəllərin siyahısını göstərir. Açar sözdən sonra HARADA birləşmənin hansı şəraitdə həyata keçirildiyi göstərilir. Bu sorğunu yerinə yetirmək üçün aşağıdakı əmri verməlisiniz:

başlıqları SEÇİN. başlıq, başlıqlar. yearpub, nəşriyyatlar. naşir

Başlıqlardan, nəşriyyatlardan

WHERE titles.pub_id=publishers.pub_id;

Həm birləşmə, həm də seçim şərtlərinin eyni vaxtda göstərildiyi nümunə (əvvəlki sorğunun nəticəsi 1996-cı ildən sonrakı nəşrlərlə məhdudlaşır):

SEÇİN başlıqlar.title,titles.yearpub,publishers.publisher

Başlıqlardan, nəşriyyatlardan

HARA titles.pub_id=publishers.pub_id VƏ

titles.yearpub>1996;

Nəzərə alın ki, müxtəlif cədvəllərdə eyni adlı sahələr olduqda, qeyri-müəyyənliyi aradan qaldırmaq üçün sahə adından əvvəl cədvəlin adı və “.” işarəsi göstərilir. (nöqtə). (Həmişə cədvəlin adını qeyd etmək tövsiyə olunur!)

Təbii ki, ikidən çox cədvəli birləşdirmək mümkündür. Məsələn, yuxarıda təsvir edilən seçimi kitab müəlliflərinin adları ilə əlavə etmək üçün aşağıdakı formada operator yaratmalısınız:

Publishers.publisher

Başlıqlardan, nəşriyyatçılardan, başlıq müəlliflərindən, müəlliflərdən

HARA başlıqauthors.au_id=authors.au_id VƏ

Titleauthors.title_id=titles.title_id VƏ

Titles.pub_id=publishers.pub_id VƏ

Başlıqlar. yearpub > 1996;

Çox cədvəlləri birləşdirməyə alternativ operatordan istifadə etmək ola bilər

cədvəlləri birbaşa bənddə birləşdirmək FROM. Üç var

operator seçimi:

DAXİLİ QOŞULUN nəticədə qeydlərin daxil olduğu əlaqə

yalnız eyni atributlar əlaqəli atributlarda aşkar edildikdə təyin edin

dəyərlər;

SOL QOŞULUN birincidən (soldan) bütün qeydlərin olduğu sol əlaqə

cədvəllər nəticə dəstinə daxil edilir, hətta ikinci (sağda)

cədvəldə onlara uyğun qeydlər yoxdur;

SAĞ QOŞULUN ikincidən (sağda) bütün qeydlərin olduğu sağ əlaqə

cədvəllər ilk (solda) cədvəl olsa belə nəticə dəstinə daxil edilir

müvafiq qeydlər yoxdur.

Məsələn, əvvəlki nümunə operatordan istifadə etməklə həyata keçirilə bilər

INNER JOIN belədir:

SELECT müəllifləri.author,titles.title,titles.yearpub,

Publishers.publisher

FROM ((başlıqlar INNER JOIN publishers ON

Titles.pub_id=publishers.pub_id)

INNER JOIN başlıq müəllifləri ON

Itleauthors.title_id=titles.title_id)

INNER JOIN müəllifləri ON

Titleauthors.au_id=authors.au_id

WHERE titles.yearpub > 1996;

3. SELECT daxilində hesablamalar.

SQL yaranan əlaqənin sütunları üzərində müxtəlif hesab əməliyyatları yerinə yetirməyə imkan verir. Dizaynda<список_выбора> Sabitləri, funksiyaları və onların birləşmələrini hesab əməliyyatları və mötərizələrlə istifadə edə bilərsiniz. Məsələn, 1992-ci ildən (SQL-92 standartının qəbul edildiyi il) müəyyən bir kitabın nəşrinə qədər neçə il keçdiyini öyrənmək üçün əmri yerinə yetirə bilərsiniz:

SELECT başlığı, yearpub-1992 FROM başlıqlardan HARADA yearpub > 1992;

Arifmetik ifadələr toplama (+), çıxma (-),

bölmə (/), vurma (*), həmçinin müxtəlif funksiyalar (COS, SIN, ABS)

mütləq dəyər və s.).

SQL-də həm də qeydlər qrupunda eyni sahələr toplusunda hərəkətləri yerinə yetirən məcmu funksiyalar da müəyyən edilir. Onların arasında:

AVG(<имя поля>) - bu sahənin bütün dəyərləri üzrə orta

COUNT(<имя поля>) və ya COUNT (*) - qeydlərin sayı

MAX(<имя поля>) - bu sahənin bütün dəyərlərinin maksimumu

MIN(<имя поля>) - bu sahənin bütün dəyərlərinin minimumu

SUM(<имя поля>) - bu sahənin bütün dəyərlərinin cəmi

Nəzərə alın ki, hər bir toplama funksiyası tək bir dəyər qaytarır.

Nümunələr: verilənlər bazamızda ən qədim kitabın nəşr tarixini müəyyənləşdirin

Başlıqlardan MIN(yearpub) SEÇİN;

Başlıqlardan COUNT (*) SEÇİN ;

Funksiya məlumatlarının əhatə dairəsi məntiqi şərtdən istifadə etməklə məhdudlaşdırıla bilər. Məsələn, 2000-ci ildən sonra nəşr olunan kitabların sayı:

yearpub > 2000 olan başlıqlardan SAYI (*) SEÇİN;

4. Tarixlərlə işləmək üçün funksiyalar

MS Access-də Daxili tarix və vaxt funksiyalarının bütün dəsti var, onlardan bəzilərini sadalayaq:

Tarix() - cari tarix, yəni bugünkü tarix, ay və il;

D ay (tarix) - tarixdən günü çıxarır, məsələn, tarix- 12.09.97-ci il, nömrə 12;

Ay (tarix) - tarixdən ayı çıxarır, məsələn tarix - 12,09,97, funksiyanın tətbiqinin nəticəsidir- nömrə 9;

Ueag(tarix) - tarixdən ili çıxarır, məsələn, tarix - 12-09,97, funksiyanın tətbiqinin nəticəsidir- nömrə 97;

Həftə içi (tarix) - Amerika gün nömrələmə sistemində həftənin gününü tarixdən, yəni nümunədən çıxarır- tarix 12.09.97, funksiyanın tətbiqinin nəticəsi ədəddir 6, cümə gününə uyğundur

DatePart(HHTepBan, tarix) - burada arqument "interval"dır - istədiyiniz tarix komponenti və tarix üçün qısaldılmış addır - xüsusi tarix dəyəri və ya tarix sahəsinin adı

Misal üçün:

DatePart ("H",#12,09,97#) - həftənin günü - 6, yəni cümə,

DatePart ("HH",#12,09,97#) - ilin həftəsi - 37,

DatePart (" K ",# 12,09,97#) - ilin rübü - 3

DatePart("a",#12,09,97#) - gün -12,

DatePart("M",#12,09,97#) - ay - 9, \ DatePart("rrrr",#12,09,97#) - il - 1997

Nümunə sorğu. Standartı təsvir edən məqalənin dərcindən neçə il keçdiyini müəyyənləşdirin SQL (tutaq ki, məqalənin adı “Standart SQL")

Ay SEÇİN(Tarix()-il)

FROM başlıqlardan INNER JOIN publishers ON

titles.pub_id = publishers.pub_id

WHERE publisher = "SQL Standard";

5. Laboratoriya tapşırığı

Laboratoriya işlərinin gedişi haqqında qeydlər.

Sorğuların yerinə yetirilməsinin nəticələrinə baxmaq üçün tərtib edilmiş sorğulara uyğun məlumatların cədvəllərə daxil edilməsi lazımdır. Bu zaman sorğulardakı məlumatlar (tarixlər, adlar, miqdarlar və s.) verilənlər bazasına daxil edildikdən sonra dəyişdirilə bilər.

Laboratoriya tapşırıqlarını yerinə yetirərkən, seçimdən istifadə edərək bütün hesablanmış sahələri sinonimlərlə əvəz edin SEÇİM bəndində olduğu kimi.

Məsələn: SELECT COUNT (*) AS FROM başlıqlardan sətirlərin sayı;

Aşağıdakı sorğuları istifadə edərək həyata keçirin SQL:

Yanvar ayında edilən sifarişləri tapın.

-dən az olmayan miqdarda tədarük olunan məhsulları tapın 10 və 100-dən çox deyil.

Müştərinin “Krasnıy Luç” zavodundan aldığı, qiyməti 100 manatdan artıq olan məhsulların siyahısını əldə edin. 50 min UAH.

Müştəri “Krasnıy Luç” bütün sifarişlərdən neçə “Bolt” hissələri aldı?

Dövr ərzində sifariş edilən hissələrin adlarını müəyyənləşdirin 6/10/97-dən Sifariş etmədiyim 10/10/97"Qırmızı Ray" bitkisi.

Çatdırılmaları 10 mini keçən məhsul adlarının siyahısını əldə edin.

“Krasnıy Luç” zavodunun sifariş etdiyi hissələrin miqdarı nə qədərdir?

Bolt hissəsini hansı müştərilər sifariş edib?

1997-ci il üçün Bolt hissəsinin tədarüklərinin orta sayını müəyyənləşdirin.

Ən bahalı hissəni sifariş edən müştərini tapın.

6. Təhlükəsizlik sualları

Təkliflər nələrdir? SEÇİN məcburidir?

Cümlə nə soruşur? HARADA?

Hansı növ əlaqə ( QOŞULUN ) təlimatlarla dəstəklənir SEÇİN?

Təlimatın cümlələrinin ardıcıllığı nədir SEÇİN?

Cədvəl adını sahə adından əvvəl daxil etmək nə vaxt lazımdır?

Hesablanmış sahələri necə yaratmaq olar SEÇİN?

Əməliyyatdan istifadə edərək ikidən çox cədvəli birləşdirmək mümkündürmü? QOŞULUN?

Əməliyyat üçün alternativ sintaksis nədir QOŞULUN (istifadə edərək HARADA ) sorğunu düzgün yerinə yetirmək üçün istifadə edilə bilərmi?


Üst