我在数据库person
和order
表中有2个表。
PERSON表:
PERSON_ID | NAME
ORDER表:
ORDER_ID | ORDER_NO | PERSON_ID
我需要显示所有订单+相应人员的姓名(如果存在),如果不是订单详情。
到目前为止,我起身询问:
SELECT ORDER_ID, ORDER_NO, order.PERSON_ID, NAME
FROM person, order
WHERE person.PERSON_ID = order.PERSON_ID AND
person.FIRST_NAME IS NOT NULL;
只有在名称可用时才给我订单,而我需要显示所有订单,不管名称是否可用。
有什么建议吗?
答案 0 :(得分:2)
是的,您可以使用LEFT JOIN
:
SELECT o.order_id, o.order_no, o.person_id, p.name
FROM `order` o
LEFT JOIN person p
ON p.person_id = o.person_id AND p.FIRST_NAME IS NOT NULL
LEFT JOIN
如果name
为null
,它仍然可以为您提供订单。