Korelasi
sub-query Ketika sub-query dijalankan untuk setiap baris dari tabel
induk , bukan sekali ( seperti yang ditunjukkan pada contoh di atas )
maka sub-query disebut sebagai berkorelasi sub - query. Sebagai
contoh: database Fundamental 134 SELECT dept , nama , tanda
DARI final_result sebuah tanda MANA =
(
SELECT max ( tanda ) DARI MANA final_result dept = a.dept
)
Pernyataan di atas mencari daftar siswa dengan departemen mereka , yang telah diberikan tanda maksimal di setiap departemen . Untuk setiap baris di meja KIRI , sub-query menemukan max ( tanda ) untuk departemen dari baris saat ini dan jika nilai-nilai dari tanda pada baris saat ini adalah sama dengan sub-query set hasil , maka akan ditambahkan ke hasil permintaan luar ditetapkan .
5.7.4 Sub - query FROM Klausul A sub-query dapat digunakan dalam klausa FROM juga, seperti yang ditunjukkan dalam contoh berikut: SELECT dept , max_marks , min_marks , avg_marks
DARI
(
SELECT dept ,
max ( tanda ) sebagai max_marks ,
min ( tanda ) sebagai min_marks ,
avg ( tanda ) sebagai avg_marks
FROM GROUP BY final_result dept
)
WHERE ( max_marks - min_marks ) > 50 dan avg_marks < 50
Permintaan atas menggunakan sub-query dalam klausa FROM . The sub-query kembali maksimum , minimum dan rata-rata nilai untuk masing-masing departemen . Permintaan luar menggunakan data ini dan menyaring data lebih lanjut dengan menambahkan kondisi filter di klausa WHERE dari permintaan luar .
DARI final_result sebuah tanda MANA =
(
SELECT max ( tanda ) DARI MANA final_result dept = a.dept
)
Pernyataan di atas mencari daftar siswa dengan departemen mereka , yang telah diberikan tanda maksimal di setiap departemen . Untuk setiap baris di meja KIRI , sub-query menemukan max ( tanda ) untuk departemen dari baris saat ini dan jika nilai-nilai dari tanda pada baris saat ini adalah sama dengan sub-query set hasil , maka akan ditambahkan ke hasil permintaan luar ditetapkan .
5.7.4 Sub - query FROM Klausul A sub-query dapat digunakan dalam klausa FROM juga, seperti yang ditunjukkan dalam contoh berikut: SELECT dept , max_marks , min_marks , avg_marks
DARI
(
SELECT dept ,
max ( tanda ) sebagai max_marks ,
min ( tanda ) sebagai min_marks ,
avg ( tanda ) sebagai avg_marks
FROM GROUP BY final_result dept
)
WHERE ( max_marks - min_marks ) > 50 dan avg_marks < 50
Permintaan atas menggunakan sub-query dalam klausa FROM . The sub-query kembali maksimum , minimum dan rata-rata nilai untuk masing-masing departemen . Permintaan luar menggunakan data ini dan menyaring data lebih lanjut dengan menambahkan kondisi filter di klausa WHERE dari permintaan luar .
No comments:
Post a Comment