联合查询的结果有哪几种,分别如何实现

mac2024-05-07  28

联合查询的结果有哪几种,分别如何实现(写出对应的语句)? 七种结果: (1)A ∩ B 用内连接来实现     select 字段列表     from A表名 inner join B表名     on A表的关联字段 = B表的关联字段;  #其实A表的关联字段 和 B表的关联字段,本类是应该建外键的字段,只是考虑效率的问题,很多时候没有建外键

    select 字段列表     from A表名 , B表名     where A表的关联字段 = B表的关联字段; (2)A 用左连接来实现     select 字段列表     from A表名 left join B表名     on A表的关联字段 = B表的关联字段;  (3)A - A ∩ B 用左连接来实现     select 字段列表     from A表名 left join B表名     on A表的关联字段 = B表的关联字段     where 从表的关联字段 is null; (4)B 用右连接来实现     select 字段列表     from A表名 right join B表名     on A表的关联字段 = B表的关联字段;  (5)B - A ∩ B 用右连接来实现     select 字段列表     from A表名 right join B表名     on A表的关联字段 = B表的关联字段     where 从表的关联字段 is null;     (6)A ∪ B     本类应该用外连接,现在用union来实现     select 字段列表     from A表名 left join B表名     on A表的关联字段 = B表的关联字段     union     select 字段列表     from A表名 right join B表名     on A表的关联字段 = B表的关联字段;  (7)A ∪ B -      A ∩ B = (A - A ∩ B ) ∪ ( B - A ∩ B)     select 字段列表     from A表名 left join B表名     on A表的关联字段 = B表的关联字段     where 从表的关联字段 is null     union      select 字段列表     from A表名 right join B表名     on A表的关联字段 = B表的关联字段     where 从表的关联字段 is null;

最新回复(0)