案例

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo FROM Persons LEFT JOIN Orders ON Persons.Id_P=Orders.Id_P

场景一
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
LEFT JOIN Orders
ON Persons.Id_P=Orders.Id_P  and  Order.OrderNo=1
结果:  表一对一情况下查询出数据量为表 Persons
Order.OrderNo=1的左右表留下,
Order.OrderNo=!1左边保留,右表置空

场景二
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
LEFT JOIN Orders
ON Persons.Id_P=Orders.Id_P  
and Persons.FirstName
结果: 利用主表字段在ON之后用主表字段做过滤无法过滤空的数据

场景三


SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
LEFT JOIN Orders
ON Persons.Id_P=Orders.Id_P  

WHERE Order.OrderNo=1
结果:  表连接后合并为一张表之后进行过滤,合并后只有
Order.OrderNo=1的数据

场景四


SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo
FROM Persons
JOIN Orders ON Persons.Id_P=Orders.Id_P

AND Order.OrderNo=1
结果:  和场景三结果一样

posted on 2020-09-28 09:40  王嘉豪  阅读(290)  评论(0)    收藏  举报