SQL sorguları, RDBMS CRUD'nin (oluştur, oku, güncelle, sil) et ve patatesleridir. Ancak uygulamanız veya kurumsal veritabanınız büyüdüğünde, koşullu, gereksinime özel verileri almak için akıllı sorgulara duyulan ihtiyaç bir zorunluluk haline gelir.

SQL, her biri çeşitli iş kullanımları için çok uygun olan birçok işlevi kapsayan nispeten kapsamlıdır. Bu tür bir işlevsellik, alt sorguların kullanımını içerir.

Kodlarınızı verimli ve etkili hale getirmek için SQL kodlarınızdaki alt sorguları kullanarak veri getirebilir, mevcut değişkenleri değiştirebilir ve tek seferde birden fazla hedefe ulaşabilirsiniz.

SQL Alt Sorguları Nelerdir?

Alt sorgu, başka bir ana sorgu içinde parametre olarak çalışan iç içe geçmiş bir sorgudur. Alt sorgu bir iç sorgu, ana sorgu ise dış sorgu.

Alt sorgunun, verileri ana sorgu için parantez içi argüman olarak döndürdüğü, ana sorgunun ise nihai sonucu aldığı varsayılmaktadır.

Alt sorgular, Seçme açıklamada veya Neresi madde. Böyle bir yapı, alt sorgunun iyi tanımlanmış bir veri filtreleme koşulu gibi davranmasına izin verir. Ne yazık ki, alt sorgular yalnızca

instagram viewer
Gruplandırma Ölçütü komutlar ve değil Tarafından sipariş komutlar, çünkü bunlara yalnızca ana sorguda izin verilir.

İlişkili: SQL GROUP BY Beyanı Hakkında Bilmeniz Gereken Her Şey

Genellikle, her alt sorgu, aşağıdakileri içeren tek bir sütun içerir: Seçme madde. Ancak, ana sorgunun birden çok sütuna sahip olduğu senaryolar vardır. Bir alt sorgu, başka bir alt sorgunun içine yerleştirilebilir ve bu, onu iç içe geçmiş bir alt sorguya dönüştürür.

Bir alt sorgunun darlığı aşağıdaki gibidir:

Koşulun= olduğu tablodan sütun_adı seçin 
(tablodan koşullu_sütun SEÇ) takma ad olarak;

Örneğin, aşağıdaki tabloya sahip olduğunuzu varsayalım:

İD İlk adı İkinci isim Ajans ücreti
1 John Fitil 5000
2 Robert Graham 4000
3 Stephen Hicks 8000
4 Bob marley 1000
5 Mary Ellen 9000

Bu tabloda ortalama acente ücretinin üzerinde kazanç elde eden kişilerin isimlerini çekmek için birden fazla satır kod yazmak yerine alt sorgu yazabilirsiniz.

İlişkili: SQL'de Tablo Nasıl Oluşturulur

Sorgunun nasıl göründüğü aşağıda açıklanmıştır:

Agent_details'den * seçin
burada Agency_Fee > (agent_details'den ortalama (Agency_Fee) öğesini seçin);

önce komut > işareti dış sorgudur, oysa > işareti iç sorgudur.

İç sorgu, alt sorgudaki ortalama acente ücretini hesaplayacak ve dış sorgu, hesaplanan ortalama değerden büyük olan tüm değerleri gösterecektir.

SQL'de Alt Sorgular Nasıl Kullanılır?

SQL'de alt sorguları kullanmanın birkaç farklı yolu vardır.

Where Cümlesi ile Alt Sorgular

SQL'de bir alt sorgunun en temel yapılarından biri Where yan tümcesi içindedir. Ne aradığınızı tanımlamanın en basit yolu budur. Select ifadesi, alt sorgu koşul(lar)ına göre değerleri döndürür ve bunu ana sorgu için bir parametre olarak kullanır.

Sorgu yapısı:

tablo_adı'ndan * seçin
burada column_name = (table_name'den column_name seçin);

Bunu bir örnekle açıklayalım.

Agency_details tablosundan ikinci en yüksek acente ücretini bulmak istediğinizi varsayalım. Bunu yapmak için SQL içinde alternatif işlevler vardır; yine de, en iyi yöntem bir alt sorgu kullanmaktır.

Alt sorguyu şu şekilde tanımlayabilirsiniz:

* seçin, maks (Ajans_ücreti)
Agent_details'den
burada Agency_fee < (agent_details'den maksimum (Agency_fee) öğesini seçin);

Ortaya çıkan ifade size gösterecek 8000, verilen tablodaki en yüksek ikinci ücrettir. Sorgu çalıştığında, alt sorgu, ücret listesinden maksimum değeri hesaplar. En yüksek ücret tutarı (9000) bellekte saklanır.

Bu kısım hesaplandıktan sonra, tablodan en yüksek ikinci ücreti bulan sorgunun ikinci kısmı hesaplanır (çünkü < işareti kullanılır). Sonuç 8000, tablodaki en yüksek ikinci ücrettir.

From Cümlesindeki Alt Sorgular

Alt sorgulardaki bir başka varyasyon, koşulu itibaren madde. Benzer bir kavram olarak, önce iç sorgu, ardından dış sorgu işlenir. İç sorgu, verileri filtreleyecek ve ID = 3 olan sonuçları gösterecektir.

İşte referans için sorgu:

(
agent_details'den ajans_ücretini seçin
burada ID= 3) a olarak;

Bu çok temel bir yapıdır; ancak, veri tablolarınız ne kadar karmaşıksa, koşullarınıza uyan daha fazla veri satırı alırsınız.

İfadeye Ekle ile Alt Sorguları Kullanma

Mevcut bir tabloyu bazı yeni veri satırlarıyla güncellemek istiyorsanız, Takın Beyan. Belirli bir koşul(lar)a dayalı olarak değerler eklemek istiyorsanız, bir alt sorgunun oldukça faydalı olduğu kanıtlanabilir.

Sorgu yapısı:

tablo_adı içine ekle 
tablo_adı'ndan * seçin
burada sütun_adı = koşullar;
tablo_adı'ndan * seçin;

Alt sorgu ile insert into deyimini nasıl kullanabileceğinize dair bir örnek:

ajan_details içine ekle
agent_details'den * seçin
burada ajans_ücreti (1000, 5000);
agent_details'den * seçin;

Sorgu çalıştırıldığında, koşulla eşleşen değerler yeniden mevcut tabloya eklenecektir. bu Seçme * başvuru tüm sütunları bir arada alır ve onu olduğu gibi agent_details tablosuna ekler. bu içinde ifadesi, aynı anda birden çok filtre koşulu tanımlamak için kullanılır.

Update Bildirimi ile Alt Sorguları Kullanma

Sorguları çalıştırırken temel alınan tabloları güncellemek istediğiniz durumlar vardır. Bunu yapmak için, Güncelleme sorgulama komutları ile birlikte ifade.

Tablodaki bilgileri tek seferde güncellemek için alt sorguyu şu şekilde yazacaksınız:

tablo_adı güncelle 
sütun_adı ayarla = yeni_değer
burada sütun_adı =
(table_name'den sütun_adı seçin, burada = );

Güncelleme ifadesinin kullanımını gösteren bir örnek:

GÜNCELLEME ajan_detayları 
SET ajans_ücreti = 35000
NEREDE ajans_ücreti =
(Agent_details WHERE First_name='John'dan ajans_ücretini SEÇİN);
agent_details'den * seçin;

Alt sorgu, Agency_fee sütununu filtreleyecek ve First_Name'in eşleştiği satırı/satırları seçecektir. John. Daha sonra dış sorgu yürütülür, burada ajans ücreti John Wick için 35000 olarak güncellenir.

geçebilirsin Seçme * nihai sonuçları kontrol etmek için beyan; Sorguda tanımlanan koşullarla eşleşen yalnızca bir örnek olduğundan, John Wick için acentelik ücretinin 35000 olarak güncellendiğini fark edeceksiniz.

Alt Sorguları Sil İfadesiyle Kullanma

Mevcut bir tablodaki veri satırlarını güncellediğiniz update deyimi gibi, silmek deyimi, bir koşula dayalı olarak veri satır(lar)ını siler.

Silme ifadesi yapısı şöyledir:

değişken/sütun adı = tablo_adı'ndan sil 
(tablo_adı'ndan sütun_adı seçin burada = koşul);

İşte bir örnek:

Agent_details'den sil 
nerede First_name IN
(ajans_fee = 9000 olmak üzere agent_details'den First_name öğesini seçin);
agent_details'den * seçin;

SQL İçinde Alt Sorguları Kullanma

Alt sorgular, SQL içinde sizi sonsuz gereksiz kod satırları yazmaktan kurtarabilecek mükemmel bir özelliktir. Teklifinizi yapmak için alt sorguların temel işlevlerini kullanabildiğiniz zaman, SQL kodlamanın karmaşıklığına girme konusunda asla endişelenmek istemezsiniz.

Her zaman oyununuzun zirvesinde olmanızı sağlamak için mevcut SQL bilginizi geliştirmek her zaman en iyisidir. İçiniz rahat olsun, SQL hile sayfaları tek bir bakışta temel bilgilerinizi nasıl tazeleyeceğiniz konusunda size iyi bir fikir verebilir.

Yeni Başlayanlar için Temel SQL Komutları Hile Sayfası

SQL hakkında daha fazla bilgi edinmek ister misiniz? Çeşitli SQL sorgu komutlarına hakim olmak, ilerlemek için harika bir yoldur.

Sonrakini Oku

PaylaşCıvıldamakE-posta
İlgili konular
  • Programlama
  • Programlama
  • SQL
  • Programlama Araçları
Yazar hakkında
Gaurav Siyali (35 Makale Yayınlandı)

Gaurav Siyal, bir dizi dijital pazarlama firması ve yazılım yaşam döngüsü belgeleri için iki yıllık yazma deneyimine sahiptir.

Gaurav Siyal'dan Daha Fazla

Haber bültenimize abone ol

Teknik ipuçları, incelemeler, ücretsiz e-kitaplar ve özel fırsatlar için bültenimize katılın!

Abone olmak için buraya tıklayın