Dalam Bahasa Pertanyaan Pangkalan Data (SQL), pertanyaan jadual hubungan ialah teknik biasa yang digunakan untuk mendapatkan semula data daripada berbilang jadual dan mewujudkan beberapa hubungan antara jadual ini. Pangkalan data Oracle ialah salah satu sistem pengurusan pangkalan data hubungan yang paling biasa digunakan dan mempunyai fungsi pertanyaan perkaitan data yang berkuasa. Dalam artikel ini, kami akan meneroka cara melaksanakan pertanyaan hubungan menggunakan bahasa Oracle.
1. Pertanyaan korelasi data dan jenisnya
Pertanyaan korelasi data menghubungkan dua atau lebih jadual bersama-sama untuk pertanyaan dan menggabungkan semua data yang akan diambil apabila mengembalikan set hasil. Dalam Oracle, terdapat tiga jenis pertanyaan perkaitan data:
2. Sintaks Oracle untuk melaksanakan pertanyaan korelasi data
Apabila kita ingin melaksanakan pertanyaan korelasi dalam Oracle, kita boleh menggunakan sintaks berikut:
SELECT * FROM table1 JOIN table2 ON table1.column = table2.column;
Dalam Dalam contoh ini, kami menggunakan kata kunci JOIN untuk menyertai Jadual 1 dan Jadual 2, dan menggunakan klausa ON untuk menentukan keadaan perkaitan antara kedua-dua jadual. Dalam keadaan korelasi, kita boleh menentukan lajur yang hendak dikaitkan dan menetapkan kaedah korelasi.
Sebagai contoh, jika anda ingin menanyakan maklumat pekerja dan jabatan, anda boleh menggunakan arahan berikut:
SELECT employees.name, departments.department_name FROM employees JOIN departments ON employees.department_id = departments.department_id;
Dalam contoh ini, kami menggunakan kata kunci JOIN untuk menyambungkan jadual pekerja dan Jadual jabatan Klausa ON digunakan untuk menentukan bahawa nombor jabatan adalah keadaan perkaitan antara dua jadual. Akhir sekali, kami memilih nama pekerja dan nama jabatan daripada dua jadual sebagai hasil pulangan kami.
3. Contoh pertanyaan sertai Oracle
Contoh berikut akan menunjukkan cara melaksanakan pertanyaan gabungan dalaman dan gabungan kiri dalam Oracle:
Dalam contoh ini, kami akan membuat pertanyaan untuk memadankan rekod antara dua jadual dan hanya mengembalikan rekod yang wujud dalam kedua-dua jadual.
Andaikan kami mempunyai jadual "pesanan", yang mengandungi ID pesanan, ID pelanggan, tarikh dan maklumat lain. Terdapat juga jadual "pelanggan" yang mengandungi ID pelanggan, nama pelanggan, alamat dan maklumat lain. Sekarang, kami ingin menanyakan set hasil yang mengandungi nombor pesanan, nama pelanggan dan tarikh pesanan.
SELECT orders.order_id, customers.customer_name, orders.order_date FROM orders JOIN customers ON orders.customer_id = customers.customer_id;
Dalam contoh ini, kami menggunakan kata kunci JOIN untuk menyambung dua jadual, dan klausa ON menentukan keadaan hubungan antara kedua-dua jadual. Kami akan mengembalikan set hasil yang mengandungi ID pesanan, nama pelanggan dan tarikh pesanan.
Dalam contoh ini, kami akan membuat pertanyaan untuk memadankan rekod antara dua jadual dan memasukkan semua baris dalam jadual kiri, walaupun tiada baris dengan kanan sertai rekod pemadanan jadual.
Andaikan kita mempunyai jadual "pekerja" yang mengandungi ID pekerja, nama, alamat dan maklumat lain. Terdapat juga jadual "jabatan", yang mengandungi ID jabatan, nama jabatan dan maklumat lain. Sekarang, kami ingin menanyakan set hasil nama pekerja, nama jabatan dan bilangan pekerja dalam jabatan.
SELECT departments.department_name, COUNT(employees.employee_id) AS num_employees FROM departments LEFT JOIN employees ON departments.department_id = employees.department_id GROUP BY departments.department_name;
Dalam contoh ini, kami menggunakan kata kunci LEFT JOIN untuk menyertai jadual "jabatan" dan jadual "pekerja", dan menggunakan klausa GROUP BY untuk mengumpulkan hasil. Kami akan mengembalikan nama jabatan untuk setiap jabatan dan bilangan pekerja di jabatan tersebut.
4. Ringkasan
Melalui artikel ini, kami memahami kepentingan pertanyaan korelasi data dalam pangkalan data Oracle dan cara melaksanakannya melalui bahasa SQL. Kami juga menunjukkan cara menggunakan penyataan INNER JOIN dan LEFT JOIN untuk membuat pertanyaan tentang rekod yang sepadan dan tidak sepadan. Dengan memahami dan mempraktikkan kaedah ini, kami dapat memahami pangkalan data dan SQL dengan lebih baik, dan dengan itu menjadi lebih yakin dan tepat apabila memproses sejumlah besar data dan pertanyaan kompleks.
Atas ialah kandungan terperinci Cara menggunakan bahasa Oracle untuk pertanyaan berkaitan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!