SQL 右外连接查询返回记录数

假设现有 customers 表(主键:客户编号 cid),包含 10 行数据,订单表 orders(外键:客户编号 cid),包含 6 条数据。执行以下 SQL 语句:sqlselect * from customers right outer join orders on customers.cid=orders.cid;

问:最多返回多少条记录?

答:最多返回 6 条记录。

解析:

  • 右外连接(RIGHT OUTER JOIN):以右表(此处为 orders 表)为基准,返回右表中的所有记录。如果左表(此处为 customers 表)中有匹配的记录,则一起返回;如果没有匹配的记录,则左表对应字段返回 NULL。* 由于 orders 表只有 6 条数据,即使所有订单都匹配到客户,也只会返回 6 条客户信息。* 因此,最终返回的记录数最多为 6 条,取决于 orders 表中有多少条数据。

注意: 即使 orders 表中没有匹配到任何客户数据,最终返回的结果中也会包含这 6 条 orders 数据,只是 customers 表对应字段的值为 NULL。

SQL 右外连接查询返回记录数问题

原文地址: https://www.cveoy.top/t/topic/fYGH 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录