mysql 联表查询

A表        order_id         data
             1                 1
             2                 2
             3                 3

B表        order_id         state
             1                1
             2                2
             
             
             

查找A中与B不重复的对应order_id的data(即order_id=3的data),sql语句怎么写?

阅读 3.9k
6 个回答
select data from a 
where order_id not in (
  select distinct order_id from b 
);
新手上路,请多包涵

select data
from A left join B on A.order_id = B.order_id
where isnull(B.state)

select * from A where order_id not in (select order_id from B)
SELECT a.data FROM a LEFT JOIN b ON a.order_id=b.order_id WHERE b.order_id IS NULL

select data from A where A.id not IN (select B.id from B)

select data from a where not exists (select 1 from b where a.order_id = b.order_id)
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题