Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

phép tham gia trái mysql không trả về tất cả hàng bên trái của bảng

Trong truy vấn của bạn;

SELECT *
FROM phonetype
LEFT JOIN phone
ON phonetype.phonetypeID=phone.phonetypeID
where phone.peopleID = ?

... WHERE mệnh đề với một điều kiện trên bảng ngoài cùng bên phải sẽ xóa tất cả các hàng mà bảng ngoài cùng bên phải không có giá trị, phủ định LEFT JOIN .

Điều bạn có thể muốn nhất là thêm điều kiện vào LEFT JOIN của ON thay vào đó, cho phép các giá trị trống của phone vẫn hiển thị;

SELECT *
FROM phonetype
LEFT JOIN phone
  ON phonetype.phonetypeID=phone.phonetypeID
 AND phone.peopleID = ?


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. lỗi trong mã sql của tôi ở đâu?

  2. Cập nhật MySQL:java.sql.SQLException:Không có giá trị nào được chỉ định cho tham số 8

  3. Số lượng MySQL với các tham số

  4. PHP Pthreads - sử dụng mysqli

  5. MySQL trả về bản ghi đầu tiên và cuối cùng cho các kết quả giống hệt nhau liên tiếp