Tôi có một truy vấn MySQL mà tham gia hai bảngMySQL Tham gia nơi không tồn tại
- Cử tri
hộ họ tham gia vào voters.household_id và household.id
Bây giờ những gì tôi cần làm là sửa đổi nó nơi bảng cử tri được nối với bảng thứ ba được gọi là loại bỏ, cùng với voter.id và elimination.voter_id, bao giờ bắt được là tôi muốn loại trừ bất kỳ bản ghi nào trong bảng cử tri có một bản ghi tương ứng trong việc loại bỏ bàn. làm thế nào để tôi tạo một truy vấn để làm điều này?
này là truy vấn hiện tại của tôi
SELECT `voter`.`ID`, `voter`.`Last_Name`, `voter`.`First_Name`,
`voter`.`Middle_Name`, `voter`.`Age`, `voter`.`Sex`,
`voter`.`Party`, `voter`.`Demo`, `voter`.`PV`,
`household`.`Address`, `household`.`City`, `household`.`Zip`
FROM (`voter`)
JOIN `household` ON `voter`.`House_ID`=`household`.`id`
WHERE `CT` = '5'
AND `Precnum` = 'CTY3'
AND `Last_Name` LIKE '%Cumbee%'
AND `First_Name` LIKE '%John%'
ORDER BY `Last_Name` ASC
LIMIT 30
+1 trả về nhanh hơn truy vấn phụ – ravi404
+1 nhanh hơn khi tải cao rồi truy vấn phụ + nếu U có thể thực hiện JOIN thay vì truy vấn phụ - chỉ cần thực hiện JOIN chúng đơn giản hơn rất nhiều cho trình phân tích. Một ví dụ hữu ích khác, U có thể muốn nhận kết quả nếu có một số hàng trong bảng bên phải hoặc nếu không có một hàng: 'SELECT V. * TỪ cử tri V LEFT JOIN loại bỏ E ON V.id = E.voter_id OR E .voter_id IS NULL': nếu U không muốn lưu trữ tất cả các bản ghi trong bảng bên phải cho mỗi hàng từ bên trái. –