Sql多表查询,怎么做?????

主表1(id,studentId,gradId,classId)表2(studentId,studentName)表3(gradId,gradName)表4(classI... 主表1(id ,studentId,gradId,classId) 表2(studentId,studentName) 表3(gradId,gradName ) 表4(classId,className)
显示为主表(id ,studentName,gradName ,className)
怎么写呢?求助。。。。
左外连接的方法?怎么写呢?
展开
 我来答
qingxsky
推荐于2017-09-28 · 知道合伙人软件行家
qingxsky
知道合伙人软件行家
采纳数:513 获赞数:1669
毕业东北电力大学信息与计算科学专业,本科学位。企业资产管理行业9年从业经验,现任三峡高科实施顾问。

向TA提问 私信TA
展开全部
根据你的查询结果要求,可以根据一下几个步骤确定多表查询语句的写法:
1、要显示所有学生信息、班级、年级等信息,则需以主表1为主记录,其他表通过外连接的方式进行关联;
2、LEFT JOIN 关键字会从左表那里返回所有的行,即使在右表中没有匹配的行,确定主表之后,其他关联表使用LEFT JOIN;
3、拼接SQL语句,需要确定关联字段主表1与表2的关联为主表1.studentid=表2.studentid,
主表1与表3的关联为主表1.gradId=表3.gradId,主表1与表4的关联为主表1.classId=表4.classId
4、具体语句为:
SELECT 表1.ID, 表2.STUDENTNAME,表3.GRADNAME,表4.CLASSNAME
FROM 表1

LEFT JOIN 表2 ON 表1.STUDENTID = 表2.STUDENTID
LEFT JOIN 表3 ON 表1.GRADID = 表3.GRADID
LEFT JOIN 表4 ON 表1.CLASSID= 表4.CLASSID
网易云信
2023-12-06 广告
UIkit是一套轻量级、模块化且易于使用的开源UI组件库,由YOOtheme团队开发。它提供了丰富的界面元素,包括按钮、表单、表格、对话框、滑块、下拉菜单、选项卡等等,适用于各种类型的网站和应用程序。UIkit还支持响应式设计,可以根据不同... 点击进入详情页
本回答由网易云信提供
dongzhe53
2013-03-21
知道答主
回答量:5
采纳率:0%
帮助的人:3.2万
展开全部
不知道你的表都叫什么名字,例如叫:table1\table2\table3\table4

select t1.id, t2.studentName, t3.gradName, t4.className
from table1 t1
join table2 t2 on t2.studentId = t1.studentId
join table3 t3 on t3.gradId = t1.gradId
join table4 t4 on t4.classId = t1.classId
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
迷瞪的红色巴士
2013-03-21
知道答主
回答量:14
采纳率:0%
帮助的人:4.5万
展开全部
select 表1.id ,
表2.studentName,
表3.gradName,
表4.className
from 表1,表2,表3,表4
where 表1.studentId=表2.studentId
and 表1.gradId=表3.gradId
and 表1.classId=表4.classId
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
29...2@qq.com
推荐于2017-09-05 · 超过24用户采纳过TA的回答
知道答主
回答量:126
采纳率:46%
帮助的人:21万
展开全部
左外连接好像是这样吧
select a.id, b.studentName, c.gradName, d.className
from 主表1 a
left join 表2 b on a.studentId = b.studentId
left join 表3 c on c.gradId = a.gradId
left join 表4 d on d.classId = a.classId
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
tj_angela
2013-03-21 · TA获得超过7530个赞
知道大有可为答主
回答量:6797
采纳率:75%
帮助的人:2571万
展开全部
select t1.id ,studentName,gradName ,className
from t1,t2,t3
where t1.studentId=t2.studentId
and t1.gradId=t3.gradId
and t1.classId=t4.classId
order by 1;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(4)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

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

类别

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

说明

0/200

提交
取消

辅 助

模 式