Middle
İlişkisel veritabanında SELECT operatörünün tam sözdizimi hakkında bilgi veriniz.
sobes.tech yapay zeka
AI'dan gelen yanıt
SQL SELECT operatörü, bir veya birkaç tablodan veri seçmek için kullanılır. Tam sözdizimi birçok isteğe bağlı bölümü içerir:
SELECT [ALL | DISTINCT]
select_expr, select_expr, ...
FROM
table_references
[WHERE
where_condition]
[GROUP BY
{col_name | expr | position}
[ASC | DESC], ... [WITH ROLLUP]]
[HAVING
having_condition]
[ORDER BY
{col_name | expr | position}
[ASC | DESC], ...]
[LIMIT
[offset,] row_count | row_count OFFSET offset]
[FOR UPDATE | LOCK IN SHARE MODE];
Ana hatlarıyla bölümleri inceleyelim:
-
SELECT [ALL | DISTINCT] select_expr, ...:SELECT: Veri seçimini belirten anahtar kelime.ALL: (Varsayılan) Tüm bulunan satırları, tekrarlar dahil, içerir.DISTINCT: Sonuçtan yinelenen satırları kaldırır.select_expr: Seçilen sütunları veya hesaplanan değerleri tanımlayan ifade (örneğin,column_name,function(column),column1 + column2,*tüm sütunlar için).ASile takma ad kullanılabilir.
-
FROM table_references:FROM: Veri kaynağını belirten anahtar kelime.table_references: Tablo, görünüm veya join sonuçları listesi (JOIN). Farklı join türleri:INNER JOIN,LEFT [OUTER] JOIN,RIGHT [OUTER] JOIN,FULL [OUTER] JOIN,CROSS JOIN.
-
[WHERE where_condition]:WHERE: Koşula göre satırları filtrelemek için anahtar kelime.where_condition: Karşılaştırma operatörleri (=,!=,>,<,>=,<=), mantıksal operatörler (AND,OR,NOT), aralık operatörleri (BETWEEN), liste operatörleri (IN), desen eşleştirme (LIKE) ve NULL kontrolü (IS NULL,IS NOT NULL) içeren mantıksal ifade.
-
[GROUP BY {col_name | expr | position} [ASC | DESC], ... [WITH ROLLUP]]:GROUP BY: Aynı değerlere sahip satırları gruplar ve toplama fonksiyonları (COUNT,SUM,AVG,MIN,MAX) uygular.col_name | expr | position: Gruplama için sütun, ifade veya pozisyon.ASC | DESC: Grup içi sıralama düzeni (genellikleORDER BYile kullanılır).WITH ROLLUP: Toplamlar içeren ek satırlar ekler (MySQL için).
-
[HAVING having_condition]:HAVING:GROUP BYile oluşturulan grupları, belirli bir koşula göre filtreler. Toplam fonksiyonları içerebilir.
-
[ORDER BY {col_name | expr | position} [ASC | DESC], ...]:ORDER BY: Sonuç kümesini sıralar.col_name | expr | position: Sıralama için sütun, ifade veya pozisyon.ASC: Artan sıralama (varsayılan).DESC: Azalan sıralama.
-
[LIMIT [offset,] row_count | row_count OFFSET offset]:LIMIT: Döndürülecek satır sayısını sınırlar.offset: Başlangıçtan itibaren kaydırma.row_count: Maksimum satır sayısı.
-
[FOR UPDATE | LOCK IN SHARE MODE]:- İşlemlerde opsiyonel satır kilitlemeleri.
FOR UPDATE: Özel kilit alır.LOCK IN SHARE MODE: Paylaşılan kilit (MySQL). Diğer veritabanlarında benzer mekanizmalar kullanılabilir.
Bir SQL sorgusunun uygulama sırası genellikle şöyledir:
FROMJOINWHEREGROUP BYHAVINGSELECTDISTINCTORDER BYLIMITFOR UPDATE/LOCK IN SHARE MODE