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

Bagaimana untuk melaksanakan sambungan luaran penuh dalam Mysql

PHPz
Lepaskan: 2023-05-31 08:37:55
ke hadapan
2568 orang telah melayarinya

    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
    Salin selepas log masuk

    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;
    Salin selepas log masuk

    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;
    Salin selepas log masuk

    Bagaimana untuk melaksanakan sambungan luaran penuh dalam Mysql

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

    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;
    Salin selepas log masuk

    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!

    Label berkaitan:
    sumber:yisu.com
    Kenyataan Laman Web ini
    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
    Tutorial Popular
    Lagi>
    Muat turun terkini
    Lagi>
    kesan web
    Kod sumber laman web
    Bahan laman web
    Templat hujung hadapan