Lompat ke konten Lompat ke sidebar Lompat ke footer

Semua yang Perlu Kamu Ketahui Tentang Sub-Query SQL

 Ingin tahu lebih lanjut tentang bagaimana kamu dapat menggunakan sub-kueri SQL? kamu berada di tempat yang tepat.


Kueri SQL adalah daging dan kentang dari RDBMS CRUD (buat, baca, perbarui, hapus). Namun ketika aplikasi atau database perusahaan kamu berkembang, kebutuhan akan kueri cerdas untuk mengambil data persyaratan khusus yang bersyarat menjadi keharusan.


SQL relatif komprehensif, mencakup banyak fungsi—masing-masing sangat cocok untuk berbagai penggunaan bisnis. Salah satu fungsi tersebut mencakup penggunaan sub-kueri.


Untuk membuat kode kamu efisien dan efektif, kamu dapat menggunakan sub-kueri dalam kode SQL kamu untuk mengambil data, memanipulasi variabel yang ada, dan mencapai beberapa tujuan sekaligus.


Apa Itu Sub-Kueri SQL?

Sub-kueri adalah kueri bersarang, yang berfungsi sebagai parameter dalam kueri utama lainnya. Sub-kueri adalah kueri dalam, sedangkan kueri utama adalah kueri luar .


Sub-kueri seharusnya mengembalikan data sebagai argumen dalam kurung untuk kueri utama, sedangkan kueri utama selanjutnya mengambil hasil akhir.


Sub-query disematkan dalam pernyataan Select atau di klausa Where . Struktur seperti itu memungkinkan sub-kueri untuk berperilaku sebagai kondisi penyaringan data yang dijelaskan dengan baik. Sayangnya, sub-kueri hanya dapat menggunakan perintah Group By dan bukan perintah Order By , karena hanya diizinkan di kueri utama.


Biasanya, setiap sub-kueri terdiri dari satu kolom dengan klausa Select . Namun, ada skenario di mana kueri utama memiliki beberapa kolom. Sub-kueri dapat disarangkan di dalam sub-kueri lain, menjadikannya sub-kueri bersarang.


Striktur sub-kueri adalah sebagai berikut:


Select column_name from table where condition=  

(SELECT conditional_column FROM table) as alias;

Misalnya, kamu memiliki tabel berikut:


PENGENAL Nama depan Nama kedua Biaya_agen

1 John Sumbu 5000

2 Robert Graham 4000

3 Stefanus Hicks 8000

4 Bob Marley 1000

5 Maria Ellen 9000


Dalam tabel ini, untuk menarik nama-nama orang yang berpenghasilan di atas rata-rata biaya agensi, kamu dapat menulis sub-kueri, alih-alih menulis beberapa baris kode.


Begini tampilan kuerinya:


Select * from agent_details

where Agency_Fee > (select avg(Agency_Fee) from agent_details);

Perintah sebelum tkamu > adalah kueri luar, sedangkan segala sesuatu setelah tkamu > adalah kueri dalam.


Kueri dalam akan menghitung biaya agensi rata-rata dalam subkueri, dan kueri luar akan menampilkan semua nilai yang lebih besar dari nilai rata-rata yang dihitung.


Bagaimana Cara Menggunakan Sub-Kueri dalam SQL?

Ada beberapa cara berbeda di mana kamu dapat menggunakan sub-kueri dalam SQL.


Sub-Kueri Dengan Klausa Dimana

Salah satu struktur paling dasar dari sub-query dalam SQL ada di dalam klausa Where. Ini adalah cara paling sederhana untuk menentukan apa yang kamu cari. Pernyataan pilih mengembalikan nilai sesuai dengan kondisi sub-kueri dan menggunakannya sebagai parameter untuk kueri utama.


Struktur kueri:


select * from table_name

where column_name = (select column_name from table_name);

Mari kita jelaskan ini dengan sebuah contoh.


Misalkan kamu ingin mencari biaya agensi tertinggi kedua dari tabel agency_details. Untuk melakukannya, ada fungsi alternatif dalam SQL; meskipun demikian, metode terbaik adalah menggunakan sub-kueri.


Inilah cara kamu mendefinisikan sub-kueri:


select *, max(Agency_fee)

from agent_details 

where Agency_fee < (select max(Agency_fee) from agent_details); 


Pernyataan yang dihasilkan akan menunjukkan kepada kamu 8000 , yang merupakan biaya tertinggi kedua dalam tabel yang diberikan. Saat kueri berjalan, sub-kueri menghitung nilai maksimum dari daftar biaya. Jumlah biaya tertinggi ( 9000 ) disimpan dalam memori.


Setelah bagian ini dihitung, bagian kedua dari kueri dihitung, yang menemukan biaya tertinggi kedua dari tabel (karena tkamu < digunakan). Hasil akhirnya adalah 8000 , yang merupakan biaya tertinggi kedua dalam tabel.


Sub-Kueri Dalam Klausa Dari

Variasi lain dalam sub-kueri melewati kondisi dalam klausa from . Sebagai konsep serupa, kueri dalam diproses terlebih dahulu, dan kueri luar diproses setelahnya. Kueri dalam akan memfilter data dan menampilkan hasil di mana ID = 3.


Inilah kueri untuk referensi:


select a.* from (

select agency_fee from agent_details

where ID= 3) as a;


Ini adalah struktur yang sangat mendasar; namun, semakin kompleks tabel data kamu, kamu akan mendapatkan lebih banyak baris data, yang sesuai dengan kondisi kamu.


Menggunakan Sub-Kueri Dengan Sisipkan Ke Pernyataan

Jika kamu ingin memperbarui tabel yang sudah ada dengan beberapa baris data baru, kamu bisa menggunakan pernyataan Sisipkan Ke . Sub-kueri terbukti cukup bermanfaat, jika kamu ingin menambahkan nilai berdasarkan kondisi tertentu.


Struktur kueri:


insert into table_name     

select * from table_name

where column_name = conditions;

select * from table_name;

Berikut adalah contoh bagaimana kamu dapat menggunakan pernyataan insert into dengan sub-query:


insert into agent_details

select * from agent_details

where agency_fee in (1000, 5000);

select * from agent_details;


Setelah kueri berjalan, nilai yang cocok dengan kondisi akan dimasukkan lagi ke tabel yang ada. Referensi pilih * mengambil semua kolom bersama-sama, dan memasukkannya ke dalam tabel agent_details apa adanya. Pernyataan in digunakan untuk mendefinisikan beberapa kondisi filter sekaligus.


Menggunakan Sub-Kueri Dengan Pernyataan Pembaruan

Ada situasi di mana kamu ingin memperbarui tabel yang mendasarinya saat menjalankan kueri. Untuk melakukannya, kamu dapat menggunakan pernyataan pembaruan bersama dengan perintah kueri.


Ini adalah bagaimana kamu akan menulis sub-kueri untuk memperbarui informasi dalam tabel dalam satu contoh:


update table_name 

set column_name = new_value

where column_name = 

(select column_name from table_name where = );

Berikut adalah contoh yang menunjukkan penggunaan pernyataan pembaruan:


UPDATE agent_details 

SET agency_fee = 35000

WHERE agency_fee  = 

(SELECT agency_fee FROM agent_details WHERE First_name='John'); 

select * from agent_details;

Sub-kueri akan memfilter pada kolom agency_fee dan memilih baris tempat First_Name cocok dengan John . Kueri luar dijalankan selanjutnya, di mana biaya agensi diperbarui menjadi 35000 untuk John Wick.


kamu dapat memberikan pernyataan pilih * untuk memeriksa hasil akhir; kamu akan melihat biaya agensi untuk John Wick diperbarui menjadi 35000, karena hanya ada contoh yang cocok dengan ketentuan yang ditentukan dalam kueri.


Menggunakan Sub-Kueri Dengan Pernyataan Hapus

Sama seperti pernyataan pembaruan, di mana kamu memperbarui baris data dalam tabel yang ada, pernyataan hapus menghapus baris data berdasarkan suatu kondisi.


Struktur pernyataan hapus adalah:


delete from table_name where variable/column name = 

(select column_name from table_name where = condition);

Berikut ini contohnya:


Delete from agent_details 

where First_name IN 

(select First_name from agent_details where agency_fee = 9000);  

select * from agent_details; 


Menggunakan Sub-Kueri Dalam SQL

Sub-kueri adalah fitur luar biasa dalam SQL, yang dapat menyelamatkan kamu dari menulis baris kode yang tidak perlu tanpa henti. Ketika kamu dapat menggunakan fungsionalitas dasar sub-kueri untuk melakukan penawaran, kamu tidak akan pernah ingin khawatir tentang kerumitan pengkodean SQL.


Itu selalu yang terbaik untuk meningkatkan pengetahuan SQL kamu yang ada untuk memastikan kamu selalu di atas permainan kamu. Yakinlah, lembar contekan SQL dapat memberi kamu ide bagus tentang cara memoles dasar-dasar kamu dalam sekali pkamung.

Posting Komentar untuk "Semua yang Perlu Kamu Ketahui Tentang Sub-Query SQL"