SQL中如何查询A表中的数据有部分存在B表中并显示出来

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SQL中如何查询A表中的数据有部分存在B表中并显示出来相关的知识,希望对你有一定的参考价值。

例:我A表中字段 条码 B表中字段 item_no 我如何查询A表条码字段下的数据和B表item_no字段下的数据有相同的并显示出来~求高手指点

SQL中查询A表中的数据有部分存在B表中并显示出来,可以参考下面几种方法:

1、select * from B表 where item_no in (select 条码 from A表)

2、select * from A表,B表 where  A表.条码=B表.item_no

扩展资料:

SQL参考语句

删除表

drop table tabname--这是将表连同表中信息一起删除但是日志文件中会有记录

删除信息

delete from table_name-这是将表中信息删除但是会保留这个表

增加列

Alter table table_name add column_name column_type [default 默认值]--在表中增加一列

参考资料来源:百度百科-sql语句

参考资料来源:百度百科-SQL语句大全



参考技术A select * from B表 where item_no in (select 条码 from A表)

 

select * from A表,B表 where  A表.条码=B表.item_no

你看看这两个哪个符合你要求

本回答被提问者采纳
参考技术B EXISTS写法:
SELECT A.条码
FROM TABLE1 A
WHERE EXISTS(SELECT 1 FROM TABLE2 B
WHERE A.条码 = B.ITEM_NO)
;
INNER JOIN写法:
SELECT A.*,B.*
FROM TABLE1 A
INNER JOIN TABLE2 B
ON A.条码 = B.ITEM_NO
;
还有其他的写法....小表关联可以用IN
SELECT A.*
FROM TABLE1 A
WHERE A.条码 IN(SELECT B.ITEM_NO FROM TABLE2 B)

SQL查询存在A表但不存在B表的数据

 

技术图片

其中B表的b_id字段引用了A表的id字段。现在有个查询需求:

给出已知的A表中的id,比如:id in (1,2,3),找出这些id在B表中没有与之对应的记录。比如说上面A表中的id=3这条记录,B表中没有b_id与之对应

 

方式一.利用子查询

SELECT 
  a.id 
FROM
  A a 
WHERE a.id IN (1,2,3) 
  AND NOT EXISTS 
  (SELECT 
    1 
  FROM
    B b 
  WHERE b.b_id = a.id)


方式二.利用left join

select
    a.id
from
    A a
left join B b on a.id = b.b_id
where
    a.id IN (1, 2, 3)
and b.id is null

 

以上是关于SQL中如何查询A表中的数据有部分存在B表中并显示出来的主要内容,如果未能解决你的问题,请参考以下文章

关于sql查询b表中存在,a表中不存在的数据

SQL中,如何查询存在一个表而不在另一个表中的数据记录

MySQL中如何在关联表中查询出其中一个外键不存在的数据?

SQL查询 —— 存在一个表而不在另一个表中的数据

SQL查询存在A表但不存在B表的数据

SQL查询存在A表但不存在B表的数据