A表中的数据(某个字段值能)存在于B表
---(我想要查询出A表中id为123的数据,必须用A表中的num匹配B表中的no)
A表
(这个需求的初衷:我想用一条sql能导出A表中的num字段值能与B表中的no字段值相同的数据,只导出的是A表的数据,in只能是in('1','2','3')这种,而不能in("1;2;3","1;2"),最终解决办法是把B表中的no字段导出excel,去重,之后A表 的num in B表的no)
一种查询A表数据的方法是使用内连接。可以使用以下语句:
SELECT A.*
FROM A
JOIN B ON A.num = B.no
WHERE A.id = 123;
你可以试试like语句,但是不建议这样搞
使用like没法用索引,数据多了会非常慢
该用主从表用主从表,不要把关键的查询信息硬塞进同一个字段里面去
使用exists呢
不知道你这个问题是否已经解决, 如果还没有解决的话:题目
1.留下两个表都有(相同的数据)的数据
select * from A inner join B on A.num = B.no
2.留下A表中存在,也在B表存在的数据
select * from A left join B on A.num = B.no where B.no is not null
3.留下表B中存在,也在A表存在的数据
select * from B left join A on A.num = B.no where A.num is not null