关于SQL数据库中不同表格的查询问题

在table1,有name,region;table2中,有name,age;要查询age=18的人的地区;意思是先在table2中查找age=18的,再在table1中... 在table1,有name,region;table2中,有name,age;要查询age=18的人的地区;意思是先在table2中查找age=18的,再在table1中查找region(此时的name是根据table2中age=18的结果)。请带详细说明,谢谢!数据库菜鸟。。。 展开
 我来答
badkano
2013-11-18 · 知道合伙人体育行家
badkano
知道合伙人体育行家
采纳数:144776 获赞数:885367
团长

向TA提问 私信TA
展开全部
selet region from table1
where name in
(select name from table2 where age=18)

括号里那句就是查age=18的name,然后外边嵌套了一层,就是查找跟table2里查出的name相同的table1里的region

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
rippox
2013-11-18 · 超过31用户采纳过TA的回答
知道答主
回答量:141
采纳率:0%
帮助的人:59.4万
展开全部
  1. 表连接查询select a.name,a.region from table1 a left join table2 b on a.name=b.name where b.age=18;

  2. 子查询select name,region from table1 where name in (select name from table2 where age=18);

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
帐号已注销
2013-11-18 · 超过49用户采纳过TA的回答
知道答主
回答量:118
采纳率:100%
帮助的人:114万
展开全部
select region from table1 join talbe2 on table1.name = table2.name where table2.age=18
更多追问追答
追问
select region from table2 where name is in (select name from table1 where age=18)这个不可以吗?
追答
不可以 table2中美有region这个列
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式