Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

MySQL kiri luar bergabung dengan klausa mana - kembalikan baris yang tidak cocok

Ya. where klausa mengubah gabungan luar kiri menjadi gabungan dalam.

Mengapa? Nilai pe.pqid adalah NULL (seperti pe.uid ) ketika tidak ada kecocokan. Jadi perbandingan di where klausa gagal (hampir semua perbandingan dengan NULL kembalikan NULL yang dianggap salah).

Solusinya adalah memindahkan perbandingan ke on klausa:

SELECT pq.id, pq.data, pe.data
FROM pq LEFT OUTER JOIN
     pe
     ON pq.id = pe.pqid and
        pe.uid='12345'
ORDER BY pq.id LIMIT 2



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Query MySQL tidak valid:Tingkat nesting yang terlalu tinggi untuk dipilih

  2. Dapatkan jumlah dari pohon node

  3. INSERT INTO ... SELECT tanpa merinci semua kolom

  4. MySql REGEXP untuk mencocokkan dua string yang dipisahkan koma

  5. SQL GABUNG banyak-ke-banyak