如何在PostgreSQL中执行完全连接、左连接和右连接

如何在PostgreSQL中执行完全连接、左连接和右连接,postgresql,left-join,querying,right-join,Postgresql,Left Join,Querying,Right Join,我是PostgreSQL的新手。我们提供了一个执行完全联接、左联接和右联接的活动。我有一个答案,但我不确定它是否正确。我需要一些帮助来纠正我的错误 这些是问题和我的答案 在区域id为8的staff和staff_ph表上执行完全联接,并从最高薪资排序到最低薪资。 选择* 从全体员工到全体员工 ON staff.id=staff\u ph.id 其中staff.region_id=8 员工订单。工资说明; 在区域id为8的staff和staff_ph表上执行左联接,并按姓氏排序。 选择* 从员工离开

我是PostgreSQL的新手。我们提供了一个执行完全联接、左联接和右联接的活动。我有一个答案,但我不确定它是否正确。我需要一些帮助来纠正我的错误

这些是问题和我的答案

在区域id为8的staff和staff_ph表上执行完全联接,并从最高薪资排序到最低薪资。 选择* 从全体员工到全体员工 ON staff.id=staff\u ph.id 其中staff.region_id=8 员工订单。工资说明; 在区域id为8的staff和staff_ph表上执行左联接,并按姓氏排序。 选择* 从员工离开加入员工团队 ON staff.id=staff\u ph.id 其中staff.region_id=8 员工订单。姓氏描述; 在区域id为8的staff和staff_ph表上执行右联接,并按性别排序。 选择* 从工作人员右侧加入工作人员 ON staff.id=staff\u ph.id 其中staff.region_id=8 员工订单。性别描述;
您的完全连接和右连接没有多大意义,因为您随后过滤掉staff.region_id被编造为NULL的行。另一方面,这似乎是问题,而不是你的答案,这是责怪。也许我们的目的是让该条件进入ON,而不是WHERE。

乍一看是正确的,除了最后两个语句可能需要对ASC进行排序。哦,是的,它应该是ASC。非常感谢,先生!