Rumah  >  Artikel  >  Operasi dan penyelenggaraan  >  Cara Menggunakan Jadual Pertanyaan Oracle dengan Jadual Berkaitan

Cara Menggunakan Jadual Pertanyaan Oracle dengan Jadual Berkaitan

PHPz
PHPzasal
2023-04-17 09:19:421723semak imbas

Apabila jumlah data dalam pangkalan data meningkat, hubungan antara jadual menjadi lebih dan lebih kompleks. Apabila kita perlu menanyakan data daripada beberapa jadual berkaitan, menggunakan pertanyaan berkaitan Oracle ialah kaedah yang sangat berkesan. Artikel ini menerangkan cara menggunakan jadual pertanyaan Oracle dengan jadual hubungan.

Dalam Oracle, kaedah pertanyaan hubungan yang biasa digunakan termasuk sambung dalam, sambung kiri, sambung kanan dan sambung luar penuh.

Pertama, mari kita perkenalkan penggunaan sambungan dalaman. Inner joins hanya mengembalikan baris yang mempunyai data yang sepadan dalam kedua-dua jadual. Sebagai contoh, jika kita ingin mencari data persimpangan dalam jadual pelanggan (pelanggan) dan jadual pesanan (pesanan), iaitu, maklumat pelanggan pesanan dalam jadual pelanggan, kita boleh menggunakan pernyataan SQL berikut untuk membuat pertanyaan:

SELECT a.customer_id, a.customer_name, b.order_id, b.order_date
FROM customer a
INNER JOIN order b
ON a.customer_id = b.customer_id;

Di atas Dalam pernyataan SQL, jadual pelanggan dan jadual pesanan berkaitan melalui kata kunci INNER JOIN, dan syarat perkaitan ialah medan customer_id dalam kedua-dua jadual adalah sama. Medan dalam klausa SELECT ialah nombor pelanggan dan nama pelanggan dalam jadual pelanggan, dan nombor pesanan dan tarikh pesanan dalam jadual pesanan.

Seterusnya, kami akan memperkenalkan penggunaan left join. Gabungan kiri mengembalikan semua baris dalam jadual kiri dan baris dalam jadual kanan yang sepadan dengan jadual kiri. Jika tiada data yang sepadan dalam jadual yang betul, nilai NULL dikembalikan. Sebagai contoh, jika kami ingin mencari semua maklumat pelanggan dan maklumat pesanan mereka, walaupun mereka tidak mempunyai pesanan, kami boleh menggunakan pernyataan SQL berikut untuk bertanya:

SELECT a.customer_id, a.customer_name, b.order_id, b.order_date
FROM customer a
LEFT JOIN order b
ON a.customer_id = b.customer_id;

Dalam pernyataan SQL di atas, pelanggan jadual dan susunan jadual pas KIRI JOIN persatuan kata kunci. Medan dalam klausa SELECT juga ialah nombor pelanggan dan nama pelanggan dalam jadual pelanggan, dan nombor pesanan dan tarikh pesanan dalam jadual pesanan. Perhatikan di sini bahawa memandangkan kata kunci LEFT JOIN menentukan untuk mengembalikan semua baris dalam jadual kiri, jika terdapat maklumat pelanggan yang tidak sepadan dengan pesanan dalam jadual pelanggan, nombor pesanan dan tarikh pesanan yang sepadan akan dikembalikan sebagai nilai NULL.

Kemudian, mari kita perkenalkan penggunaan right join. Cantuman kanan mengembalikan semua baris dalam jadual kanan dan baris dalam jadual kiri yang sepadan dengan jadual kanan. Jika tiada data yang sepadan dalam jadual kiri, nilai NULL dikembalikan. Contohnya, jika kami ingin mencari semua maklumat pesanan dan maklumat pelanggan mereka, walaupun tiada maklumat pelanggan yang sepadan dengan pesanan ini dalam jadual pelanggan, kami boleh menggunakan pernyataan SQL berikut untuk bertanya:

SELECT a.customer_id, a.customer_name, b.order_id, b.order_date
FROM customer a
RIGHT JOIN order b
ON a.customer_id = b.customer_id;

Dalam pernyataan SQL di atas, Jadual pelanggan dan jadual pesanan berkaitan melalui kata kunci RIGHT JOIN. Medan dalam klausa SELECT juga ialah nombor pelanggan dan nama pelanggan dalam jadual pelanggan, dan nombor pesanan dan tarikh pesanan dalam jadual pesanan. Perhatikan di sini bahawa oleh kerana kata kunci RIGHT JOIN menentukan untuk mengembalikan semua baris dalam jadual yang betul, jika terdapat maklumat pesanan yang tidak sepadan dengan pelanggan dalam jadual pesanan, nombor pelanggan dan nama pelanggan yang sepadan akan dikembalikan sebagai nilai NULL.

Akhir sekali, mari kita perkenalkan penggunaan gabungan luaran penuh. Cantuman luar penuh merujuk kepada cantuman kiri dan kanan antara jadual kiri dan jadual kanan dan mengembalikan semua baris. Jika tiada data yang sepadan dalam jadual kiri, nilai NULL dikembalikan jika tiada data yang sepadan dalam jadual kanan, nilai NULL juga dikembalikan. Sebagai contoh, jika kami ingin mencari semua maklumat pelanggan dan maklumat pesanan mereka, tidak kira sama ada terdapat data yang sepadan dalam jadual pelanggan dan jadual pesanan, kami boleh menggunakan pernyataan SQL berikut untuk membuat pertanyaan:

SELECT a.customer_id, a.customer_name, b.order_id, b.order_date
FROM customer a
FULL OUTER JOIN order b
ON a.customer_id = b.customer_id;

Dalam pernyataan SQL di atas , jadual pelanggan dan jadual pesanan berkaitan melalui kata kunci FULL OUTER JOIN. Medan dalam klausa SELECT juga ialah nombor pelanggan dan nama pelanggan dalam jadual pelanggan, dan nombor pesanan dan tarikh pesanan dalam jadual pesanan. Perhatikan di sini bahawa oleh kerana kata kunci FULL OUTER JOIN menentukan untuk mengembalikan semua baris dalam jadual kiri dan kanan, jika tiada data yang sepadan dalam jadual pelanggan atau jadual pesanan, medan yang sepadan akan mengembalikan nilai NULL.

Melalui pengenalan artikel ini, saya percaya anda telah menguasai kaedah jadual berkaitan dalam jadual pertanyaan Oracle. Dalam aplikasi praktikal, memilih kaedah pertanyaan korelasi yang sesuai mengikut keperluan boleh meningkatkan kecekapan pertanyaan dan mengurangkan hasil pertanyaan yang tidak perlu.

Atas ialah kandungan terperinci Cara Menggunakan Jadual Pertanyaan Oracle dengan Jadual Berkaitan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn