Kebanyakan pembangun mungkin keliru, mengapa saya menulis pernyataan sql saya?
Ia sangat mudah kerana sertai penuh … tidak menyokong pangkalan data mysql, hanya pangkalan data Oracle;
Tanpa berlengah lagi, mari kita berikan contoh sahaja.
select a.* FROM (select table1.*,table2.* from table1 left JOIN table2 on table1.id=table2 .tid <-- 用左外连接 --> UNION <-- 通过UNION来链接 --> select table1.*,table2.* from table1 right JOIN table2 on table1.id=table2 .tid) as a <-- 用右外连接 --> where a.id = #{id} <-- 如果要根据条件查询,必须要把上面括号里的当做子查询,条件必须写在外面 --> ORDER BY id <-- 其它操作跟在后面 -->
Bukankah rasanya sangat mudah, tetapi bagi orang baru, ini mungkin perjuangan untuk masa yang lama, jadi itulah penghujungnya.
(1) Inner join
select * from user1 a INNER JOIN user2 b on a.id=b.id
INNER JOIN inner join, yang menunjukkan persilangan antara dua jadual , iaitu maklumat yang memenuhi syarat pertanyaan (a.id=b.id dalam pernyataan SQL di atas) diperolehi.
(2) Cantuman kiri/cantuman luar kiri bagi sambungan JOIN (GABUNG KIRI/SERBUK LUAR KIRI)
select * from user1 a LEFT JOIN user2 b on a.id=b.id
Cabung kiri menanyakan semua maklumat jadual kiri dan Terdapat dua bahagian: maklumat yang memenuhi syarat pertanyaan (contohnya, a.id=b.id di atas, iaitu maklumat dalam jadual kiri dan kanan yang memenuhi syarat pertanyaan yang berkaitan).
(3) Kanan JOIN/RIGHT OUTER JOIN bagi sambungan JOIN (RIGHT JOIN/RIGHT OUTER JOIN)
select * from user1 a RIGHTJOIN user2 b on a.id=b.id
Right join pertanyaan jadual kanan di sebelah kanan daripada RIGHT JOIN Semua maklumat ditambah bahagian kiri dan kanan yang memenuhi syarat pertanyaan yang berkaitan (iaitu, keadaan a.id=b.id di atas).
(4) Sertai penuh …on…
select * from user1 a FULL JOIN user2 b on a.id=b.id
Sambungan luar penuh sebenarnya adalah koleksi sambung kiri dan sambung kanan, yang bermaksud ia akan menanyakan semua data jadual kiri dan jadual kanan.
(5) Silang sambung…
select * from user1 a CROSS JOIN user2 b on a.id=b.id
Sambung silang, juga dikenali sebagai produk Cartesian, bilangan baris yang dikembalikan oleh pertanyaan adalah sama dengan dua baris jadual hasil darab nombor.
Atas ialah kandungan terperinci Cara menggunakan full join...on... dalam mysql. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!