Sorgu dili
Bilgisayar biliminde, bir sorgu dili (veya İngilizce sorgu dilinde veya veri sorgulama dilinde DQL ), kullanıcılar tarafından veritabanları ve bilgi sistemleri üzerinde sorgular oluşturmak için kullanılan bir dildir . İlgili DBMS aracılığıyla veri tabanından bilgi çıkarmayı, veri tabanını sorgulamayı ve böylece kullanıcı ve hizmet istekleriyle arayüz oluşturmayı mümkün kılmak için kullanılır .
Örnekler
Bazı sorgu dilleri örnekleri şunlardır:
- SQL , ilişkisel veritabanları için kullanılan iyi bilinen bir dildir.
- MDX , OLAP veritabanları için bir QL
- Datalog , tümdengelimli veritabanları için
- XQuery , XML veri kaynakları için
- SuprTool , Image/SQL ( TurboIMAGE ) ve Oracle veritabanlarındaki veriler için kullanılan bir veritabanı erişim programı olan SuprTool için tescilli bir dildir .
Standart SQL için DQL
SQL standardına göre DQL ( veri sorgulama dili ), ilişkisel modele göre yapılandırılmış bir veritabanında bulunan verileri okumak ve işlemek için komutlar içerir . Bu veriler, Veri Tanımlama Dili (DDL) ile oluşturulan yapılarda veya tablolarda Veri Manipülasyon Dili (DML) aracılığıyla önceden girilmiş olmalıdır , Veri Kontrol Dili (DCL) ise kullanıcının bunlara erişip erişemeyeceğini belirler.
_
Select komutu ile veriyi veritabanından hedefli bir şekilde çıkarma imkanına sahibiz.
Seçim komutunun sözdizimi
SEÇ [ TÜMÜ | FARKLI | TOP ] select_elements_list FROM table_list_references
[ WHERE koşullu_ifadesi ] [ GROUP BY column_list [ HAVING Koşul ] ] [ SİPARİŞ sütun_listesi ] ;
nerede:
- list_elements_selection ayıklanacak alanların listesidir (birbirinden virgülle ayrılmış);
- referans_listesi_tablosu , verinin ayıklanacağı tabloların listesidir;
- koşullu_ifade, koşulların listesini, yani bir alanın sorgudan getirilebilmesi için karşılaması gereken gereksinimleri temsil eder (koşullar, karşılaştırma işleçleri, mantıksal bağlayıcılar ve karşılaştırıcılar kullanılarak belirtilir, örneğin , in , like , is null ); sütun_listesi , çıktı verilerini sıralamak için referans olarak alınması gereken sütun veya sütunlardır.
Varsayılan olarak, select komutu all yöntemiyle çalışır, ancak farklı belirtmek , yinelenen satırların sonuçlardan çıkarılmasına izin verir.
ORDER BY deyimi , sonuçları bir veya daha fazla alana göre sıralamak için kullanılır.
Limit (veya uygulamalara bağlı olarak top ) sağlanan satır sayısını sınırlar: LIMIT 10, tablomun ilk 10 satırını alır. LIMIT veya OFFSET yan tümcesine bir parametre ekleyerek sonuçların başındaki birkaç satırı atmak da mümkündür .
ORDER BY yan tümcesini belirtmezseniz standart SQL'de sıralama yoktur , bu nedenle onsuz LIMIT'in de öngörülemeyen bir etkisi vardır.
Bir örnek aşağıdaki gibidir:
KULLANICILARDAN FARKLI soyadı , adı , city_residence SEÇİN NEREDE yıllar > = 18 Soyada GÖRE SİPARİŞ _
Bu sorgu , çıktıyı soyadına göre sıralayarak tüm yetişkin kullanıcıların listesini çıkarır. Select'in tanımı çok daha geniştir, birçok başka seçenek sunar, ancak prensipte bu seçeneklerle sorguların çoğu oluşur.
KULLANICILARDAN FARKLI *
SEÇİN _
yıldız işareti, kullanıcı tablosunun tüm sütunlarını seçime dahil etmenize olanak tanır
Select ile hesaplamalar yapmak da mümkündür:
AYRI kod_art , fiyat_birim * hisse senedi AS Toplam , hisse senedi * yükümlülük AS TotIngombro'yu seçin ; makalelerden _
bu, çıkarılan verileri değil, aynı zamanda hesaplanan verileri de üretir. AS yan tümcesi, seçimi oluşturacak yeni tablodaki yeni sütunu adlandırmak için kullanılır.
Çoğu VTYS, en son yerleştirilmesi gereken ve üç biçimde olabilen standart olmayan LIMIT yan tümcesini destekler:
LIMIT < sayı_sonuçları >
LIMIT < position_first_result > , < number_results >
LIMIT < sayı_sonuçları > [ OFFSET < position_first_result > ]
sayı_sonuçlar ayıklanacak satır sayısıdır. pos_first_result , ayıklanacak ilk satırın dizinidir. Birlikte, sonuçları bloklara bölmek ve her seferinde biraz okumak için kullanılabilirler (örneğin, DBA'nın rahatlığı veya bir web uygulaması tarafından görüntülenen sonuçların sayfalanması için).
Katılın
Join yan tümcesi aracılığıyla, bir veya daha fazla ortak alana sahip birkaç tablodan oluşan bir seçim formu elde edilir .
Alt sorgu
Alt sorgular, SQL dilinin tek bir değer döndüren bir ifadeyi kabul ettiği her yere ve FROM yan tümcesine eklenebilir. Bu ikinci durumda, alt sorgulara türetilmiş tablolar da denir.
Uygun alt sorgular, duruma göre tek bir değer veya bir dizi sonuç döndürebilir. Oldukça basit bir örnek, bir tablodan ortalamanın üzerindeki sayısal değerleri çıkarmak istediğiniz örnektir. Tek bir Select ortalamayı ve aynı zamanda onu aşan değerleri okuyamaz. Bu amaçla ortalamayı okuyan bir seçimimiz olacak:
my_table'DAN AVG'yi ( alan1 ) SEÇİN ; _
Bu sorgu, en dıştaki sorgunun WHERE yan tümcesine yerleştirilecektir; önce alt sorgu yürütülür:
SELECT * FROM my_table WHERE field1 > ( SELECT AVG ( field1 ) FROM my_table );
Gördüğünüz gibi, sözdizimsel açıdan alt sorguları parantez içine almak gerekiyor.
Türetilmiş Tablolar
Türetilmiş tablolar, özel bir alt sorgu durumudur: dahili bir Select, daha sonra harici Select tarafından sorgulanacak olan verileri çıkarır.
Aşağıdaki örnek eğitim amaçlı kullanılmıştır, ancak optimal bir yaklaşım değildir. Ancak mail alanı boş olmayan kayıtları, kaydı onaylanmış kullanıcılar arasından seçerek çıkarmak istediğinizi varsayalım. Bunu türetilmiş bir tabloyla nasıl yapacağınız aşağıda açıklanmıştır:
BAŞVURUDAN e-postayı SEÇ ( Kullanıcılardan e - postayı SEÇ NEREDE onay = DOĞRU );
Gerçekte, türetilmiş tablolar, dış sorgu bir JOIN içerdiğinde meydana gelen, başka olası yaklaşımların olmadığı durumlarda kullanışlıdır.
Dış bağlantılar
- ( TR ) Sorgu dili , Encyclopedia Britannica , Encyclopædia Britannica, Inc.