求帮写一个sql查询语句

分别有a和b两个表首先我只筛选a表下的年级为1的数据,接着通过多个学号查询所在班级,学号和班级都要显示在查询列表里的,请问这语句怎么写?... 分别有a和b两个表
首先我只筛选a表下的年级为1的数据,接着通过多个学号查询所在班级,学号和班级都要显示在查询列表里的,请问这语句怎么写?
展开
 我来答
路过的内个小伙
2021-12-14 · TA获得超过1401个赞
知道小有建树答主
回答量:1886
采纳率:39%
帮助的人:306万
展开全部
  1. 首先A表和B表没有直接关系,所以关联查询的时候无法同时查询,换句话说你给的表结构不是很对,可以先了解下我这个图,总结:两个表要有相同的字段才能进行关联查询,完全没有关系的话查询是没有意义的

2.如果你有我发的图中类似的表结构,那么可以进行关联查询,比如

select b.姓名,a.年级,a.班级 from a表,b表 where a.年级=b.年级 and/or a.班级=b.年级

上边语句其实是有一些数据冗余问题的,因为表结构设计的不是很好,但是关联查询重点是需要两个表内有相同含义字段的,这个清楚就好理解很多了。

你说的班级=1,只需要在where条件里加上相应的 a.班级=1即可,根据表设计的字段类型,如果是数值型就直接=1,如果是字符型=‘1’。条件不难,但是表结构要规划好,我再给你一个具体的比较好的表图如下

以上3表关联查询

select b.姓名,a.年级,c.班级 from a表,b表,c表 where a.学号=1 and a.年级=b.序号 and a.班级=c序号

注意上边的语句,a.年级=b.序号 和a.班级=c.序号 因为B表学员表中存的是序号,所以要对应A和C表里的序号值做条件相等判断,但是返回值(select后你可以看到的)是具体的汉字内容

追问
ab表里面是有个字段是一致的,那这样可以匹配我要的数据吗?
追答
可以的,需要你发出来比较完整的表结构看一下
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式