查询一列不同值的数据 mysql_怎样查询两个表中同一字段的不同数据值

怎样查询两个表中同一字段的不同数据值

例如:

A表中的字段a有40000条数据

B表中的字段a有60000条数据,其中的40000条数据跟A表是一样的

怎样能把那不一样的20000条数据查询出来啊?

–建表table1,table2:create table table1(id int,name varchar(10));

create table table2(id int,score int);

insert into table1 select ‘1’,’lee’;

insert into table1 select ‘2’,’zhang’;

insert into table1 select ‘3’,’steve’;

insert into table1 select ‘4’,’wang’;

insert into table2 select ‘1’,’90’;

insert into table2 select ‘2’,’100′;

insert into table2 select ‘3’,’70’;

如表

————————————————-

table1

————————————————-

id name

1 lee

2 zhang

3 steve

4 wang

————————————————-

table2

————————————————-

id score

1 90

2 100

3 70

————————————————-

(1)左向外联接的结果集包括 left outer 子句中指定的左表的所有行,而不仅仅是联接列所匹配的行。如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值(null)。

(2)sql语句select * from table1 t1 left join table2 t2 on t1.id = t2.id

3 steve 3 70————-结果————-

id name id score

——————————

1 lee 1 90

2 zhang 2 100

4 wang null null

——————————

注释:包含table1的所有子句,根据指定条件返回table2相应的字段,不符合的以null显示

(3)那么获取差值

————-结果————-

id name id score

4 wang null null

——————————

下面是工作中实际遇到的情况:

##过滤出0销售人员(即没有销售记录的员工信息列表)。

#销售人员(用户角色中间表)

# —> 11条记录

#统计表(用户销售记录表)

# —> 4条记录

要求为:另外7个销售人员的记录列出来为目的。

##########这个是SQL语句模型 BEGIN##########

#########这个是SQL语句模型 END############

说明:左表是数据多的那个表(基准表如b表)。left join查询。where条件是右边的那个表(a表)某个字段(a1)为Null作为(判断字段)

##将SQL返回结果作为临时表来查询

# —>7条记录

测试一:

##SQL语句,mysql 查询两个表中不同的值(主要是差值) 这个语句查询还是存在问题。

##表与表,条件与条件独立出来。

# —>18条记录

测试二:

##where or and 区别

# —>22条记录

###更为强大的临时表查询功能,将以上查询结果作为一个整体放入。

##跟用户部门中间表关联,按部门id排序显示。

    原文作者:东门酤酒饮我曹
    原文地址: https://blog.csdn.net/weixin_42515301/article/details/113269876
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞