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 query1Di sini kita menggunakan kembali query1 di query2 dan di query utama.
Tantangan
MudahKualitas 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