Menu
CoddyTech

Sederhanakan query dengan kata kunci WITH

Pelajaran 2 dari 13 dalam kursus SQL Tingkat Lanjut di Coddy.

Query bisa menjadi terlalu rumit jika kamu menambahkan banyak query di dalamnya. Contohnya, berikut query yang memiliki banyak subquery:

SELECT * FROM table1
WHERE col2 IN (
	SELECT col1 FROM table2
	WHERE col3 + col2 > 3 AND col5 LIKE '%test%' AND col6 IN (
		SELECT col5 FROM table3
		WHERE col1 AND col3 OR col2
	)
)

Agar lebih mudah, kita bisa menggunakan kata kunci WITH query_name AS (...). Kata kunci ini memungkinkan kita menyimpan query dengan nama dan menggunakannya di mana pun kita mau:

WITH query1 AS (
	SELECT col5 FROM table3
	WHERE col1 AND col3 OR col2
), query2 AS (
	SELECT col1 FROM table2
	WHERE col3 + col2 > 3 AND col5 LIKE '%test%' AND col6 IN query1
)
SELECT * FROM table1
WHERE col2 IN query2 AND col4 IN query1

Di sini kita menggunakan kembali query1 di query2 dan di query utama.

challenge icon

Tantangan

Mudah

Kualitas perangkat diukur dengan (width/height)*num_features.

Kita ingin menemukan semua perangkat yang dinilai terlalu rendah. Ambil semua perangkat yang opinion-nya lebih besar daripada kualitas rata-rata dan score perangkatnya lebih kecil daripada kualitas rata-rata.

Untuk menyelesaikannya, gunakan klausa WITH untuk membuat subkueri yang menghitung kualitas rata-rata, lalu gunakan kembali subkueri itu dalam kueri utama.

Coba sendiri

Semua pelajaran di SQL Tingkat Lanjut

Latihan sendiri: Compiler Python online