Rumah  >  Artikel  >  pangkalan data  >  Bagaimana untuk melaksanakan sambungan luaran penuh dalam Mysql

Bagaimana untuk melaksanakan sambungan luaran penuh dalam Mysql

PHPz
PHPzke hadapan
2023-05-31 08:37:552537semak imbas

    Pertanyaan berbilang jadual dalam MySql hanya menyediakan sambung dalam, sambung luar kiri dan sambung luar kanan:

    table_reference {[INNER] JOIN | {LEFT|RIGHT} [OUTER] JOIN} table_reference ON conditional_expr

    1] SAMBUNG DALAM PADA sambung dalam (hanya Lalai ialah cantuman dalaman semasa menulis cantum)

    SELECT * FROM emp e JOIN dept d ON e.deptno=d.deptno;

    Bagaimana untuk melaksanakan sambungan luaran penuh dalam Mysql

    2] Cantuman luar

    Cantuman luar kiri dan cantuman luar kanan akan berdasarkan satu jadual jadual , semua kandungan jadual akan dipaparkan, dan kemudian kandungan padanan kedua-dua jadual akan ditambah.

    Jika data dalam jadual asas tidak direkodkan dalam jadual lain.

    Kemudian lajur muncul sebagai NULL dalam baris set hasil yang berkaitan.

    2.1. Cantuman luar kiri: paparkan semua rekod dalam jadual kiri

    SELECT * FROM emp e LEFT JOIN dept d ON e.deptno=d.deptno;

    Bagaimana untuk melaksanakan sambungan luaran penuh dalam Mysql

    2.2 >
    SELECT * FROM emp e RIGHT JOIN dept d ON e.deptno=d.deptno;

    Bagaimana untuk melaksanakan sambungan luaran penuh dalam Mysql

    2.3 Sambungan luar penuh

    Tiada had pada meja kiri dan jadual kanan dipaparkan diisi dengan nol;

    Iaitu:

    • Caburan luar kiri = semua rekod dalam jadual kiri + hasil yang berkaitan

    • Sambungan luar kanan = semua dalam jadual kanan Rekod + hasil yang berkaitan

    • Sambungan luar penuh = semua rekod dalam jadual kiri + semua rekod dalam jadual kanan + hasil berkaitan = sambung luar kiri + cantuman luar kanan - hasil yang berkaitan (iaitu penyahduplikasi )

    Jadi siapa yang boleh melakukannya dalam MYSQL?

    UNION

    Operator UNION digunakan untuk menggabungkan set hasil dua atau lebih pernyataan SELECT.

    Nota: Secara lalai, operator UNION memilih nilai yang berbeza. Jika nilai pendua dibenarkan, gunakan UNION ALL.

    Oleh itu, anda boleh menggunakan cantuman luar penuh:

    SELECT * FROM emp e LEFT JOIN dept d ON e.deptno=d.deptno
    UNION
    SELECT * FROM emp e RIGHT JOIN dept d ON e.deptno=d.deptno;

    Bagaimana untuk melaksanakan sambungan luaran penuh dalam Mysql

    Nota: Sambungan di atas adalah cantuman penuh setara boleh digunakan dalam Oracle secara penuh gabungan luar; Tolong jangan keliru.

    Atas ialah kandungan terperinci Bagaimana untuk melaksanakan sambungan luaran penuh dalam Mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

    Kenyataan:
    Artikel ini dikembalikan pada:yisu.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam