查询--内连接查询
select后边列名 分别来源于不同的表
--查询学生成绩,包括学生的学号,课程号,课程名,考试成绩 select Sno,sc.Cno,Cname,grade from SC,Course --from俩表 where SC.Cno = Course.Cno --连接条件 --SQL92写法 用inner join 连接表 on 连接条件 select Sno,sc.Cno,Cname,grade from SC inner join Course on SC.Cno = Course.Cno
复合条件连接 where+限制条件
--查询CS系的学生的成绩信息,包括学生学号,姓名,课程号,成绩 select Student.Sno,Sname,Cno,grade from Student,SC where Student.Sno = SC.Sno and Sdepe = 'CS' --SQL92 select Student.Sno,Sname,Cno,grade --from Student inner join SC on Student.Sno = SC.Sno and Sdepe = 'CS' 这样也行 from Student inner join SC on Student.Sno = SC.Sno where Sdepe = 'CS'
连接表 别名 对照上段代码
--查询CS系的学生的成绩信息,包括学生学号,姓名,课程号,成绩 select ST.Sno,Sname,Cno,grade from Student ST,SC--给Student表别名为 ST where ST.Sno = SC.Sno and Sdepe = 'CS' --SQL92 select ST.Sno,Sname,Cno,grade --给Student表别名为 ST from Student ST inner join SC on ST.Sno = SC.Sno where Sdepe = 'CS'
多表查询
--查询选修了课程给你的学生的学号,姓名,课程号,课程名及考试成绩 select ST.Sno,Sname,C.Cno,C.Cname,grade from Student ST,SC,Course C --多表查询 表名均放在from后边 where ST.sno = SC.Sno and C.Cno = SC.Cno --随着连接表的增多,连接条件也增多 --SQL92 select ST.Sno,Sname,C.Cno,C.Cname,grade from Student ST inner join SC on ST.sno = SC.Sno inner join Course C on C.Cno = SC.Cno
自身连接查询
--比如在选修课表中 查看 谁是谁的先修课 自己跟自己连接 --给自己起 两个别名 ,当作两个表 select first.Cno,second.Cname from Course first,Course second where first.cno = second.cno --查询 谁既选了1 又选了2 select A.Sno from SC A,SC B where A.Sno = B.Sno and A.Cno=1 and B.Cno= 2
11111111111111111111111111
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?