*PILIH KIRA()**
DARI BERBILANG JADUALApabila bekerja dengan jadual pangkalan data, kadangkala perlu mendapatkan kiraan daripada berbilang jadual dan memaparkan hasilnya sebagai lajur yang berasingan. Cabaran biasa timbul apabila cuba mendapatkan kiraan daripada dua jadual berbeza (tab1 dan tab2).
Menggunakan UNION ALL yang anda nyatakan adalah kaedah biasa. Walau bagaimanapun, kaedah ini menghasilkan set hasil dengan hanya satu lajur, dengan kiraan dipaparkan satu demi satu.
Untuk mengatasi had ini dan memaparkan kiraan dalam lajur yang berasingan, pendekatan SQL yang berbeza diperlukan:
<code class="language-sql">SELECT ( SELECT COUNT(*) FROM tab1 ) AS count1, ( SELECT COUNT(*) FROM tab2 ) AS count2 FROM dual</code>
Dalam pertanyaan ini, pernyataan SELECT mengandungi dua subquery:
Klausa FROM menggunakan jadual dwi, iaitu jadual maya dalam pangkalan data Oracle Ia sentiasa mengembalikan satu baris data dengan hanya satu lajur. Ini adalah perlu untuk mencipta struktur set hasil (serupa dengan cantuman silang) untuk menampung kiraan daripada kedua-dua subkueri.
Oleh itu, pertanyaan ini menghasilkan output dengan dua lajur: count1 dan count2, masing-masing mengandungi kiraan daripada tab1 dan tab2. Pendekatan ini memastikan pembentangan nilai COUNT(*) yang jelas dan teratur daripada dua jadual berbeza.
Atas ialah kandungan terperinci Bagaimana untuk Mendapatkan Kiraan Berasingan daripada Berbilang Jadual dalam Satu Pertanyaan SQL?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!