刚接触mysql 想多表查询,不知道怎么使用。
我想查找表1中条件name=‘姓名‘ 且 在表2中不存在此ID的人员ID和姓名,怎么用一条select语句得到信息
表1 表2
ID name ID sex
1 小李 1 男
2 小王 3 女
如上表,我想得到是,表1的姓名为小王ID且在表2中不存此ID的信息 也就是说我想得到 ID 2 name 小王如果用两条,应该是先找出表1小王的ID
select ID from 表1 where name='小王'
然后
select 表1得到的ID from 表2 where ID=‘表1得到的ID’表述不是太清楚。见谅
我想查找表1中条件name=‘姓名‘ 且 在表2中不存在此ID的人员ID和姓名,怎么用一条select语句得到信息
表1 表2
ID name ID sex
1 小李 1 男
2 小王 3 女
如上表,我想得到是,表1的姓名为小王ID且在表2中不存此ID的信息 也就是说我想得到 ID 2 name 小王如果用两条,应该是先找出表1小王的ID
select ID from 表1 where name='小王'
然后
select 表1得到的ID from 表2 where ID=‘表1得到的ID’表述不是太清楚。见谅
解决方案 »
- 分区表能解决大数据量的问题么?
- 实在没办法,binlog日志无法解析出来!
- Incorrect string value: '\xAD\xBF The...' for column '
- Lost connection to MySQL server at 'reading initial communication packet'
- 请教一个问题,期待过来人给带你建议……
- 在mysql5.1做表分区时分区属性一定要是主键么
- 关于Linux Windows下的分布式数据库设置
- MySQL如何指定磁盘储存位置?高手入
- 无聊!散分!
- 用installshield 打包mysql + odbc 的问题?
- 给大神问一下我这个语句哪里错了??mysql 5.7 触发器
- Navicat Premium 12 无法启动,怎么办?
select ID from 表1 where name='小王' where id not in ( select id from 表2 )
WHERE EXISTS( SELECT * from 表2 where ID= 表1.ID
select ID from 表1 where name='小王' AND id not in ( select id from 表2 )
select ID from 表1 where name='小王' AND EXISTS( SELECT * from 表2 where ID= 表1.ID
楼主可以试下,应该可以解决问题
left join 表2 t2
on t1.id = t2.id
where t1.name='小王'
and t2.name is null也可以用子查询来实现,如1-2楼的写法