SQL Server连接查询的实用教程
前沿小补充
例3.48 查询平均成绩大于等于80分的学生学号和平均成绩
SELECT Sno,AVG(Grade) FROM SC WHERE AVG(Grade)>=80 GROUP BY Sno; SELECT FROM SC;
此时发现
这是因为WHERE子句中是不能用聚集函数作为条件表达式的,正确的查询语句应该是
SELECT Sno,AVG(Grade) FROM SC GROUP BY Sno HAVING AVG(Grade)>=80; SELECT FROM SC;
WHERE子句作用基本表或视图,从中选择满足条件的元组。
HAVING短语作用于组,从中选择满足条件的组
等值与非等值连接查询
连接符号是=的成为等值连接,其他的称为非等值连接
一般形式
[<表名1>.]<列名1><比较运算符>[<表名2>.]<列名2>
例3.49 查询每个学生及其课程选秀修情况
SELECT Student.,SC. FROM Student,SC WHERE Student.Sno=SC.Sno; SELECT FROM SC; SELECT FROM Student;
拓展去掉WHERE Student.Sno=SC.Sno
后发现标称笛卡尔积形式
SELECT Student.,SC. FROM Student,SC SELECT FROM SC; SELECT FROM Student;
例3.50 对例3.49 用自然连接完成
SELECT Student.Sno,Sname,Ssex,Sage,Sdept,Cno,Grade FROM Student,SC WHERE Student.Sno=SC.Sno; SELECT FROM SC; SELECT FROM Student;
修改为自然连接竟然是一点一点选择可视的列来进行的,是我想不到的,以为会有专门的语句来进行呢
例3.51 查询选修了2号课程且成绩大于等于90分所有学生的学号和姓名
SELECT Student.Sno,Sname FROM Student,SC WHERE Student.Sno=SC.Sno AND SC.Cno='2' AND SC.Grade>=90; SELECT FROM SC; SELECT FROM Student;
一条SQL语句可以完成选择和连接查询,这时WHERE子句由连接谓词和选择谓词组成的复合条件
自身连接
一个表与其自身进行连接,称为自身连接
例3.52 查询每一门课的间接选修课
SELECT FIRST.Cno,SECOND.Cpno FROM Course FIRST,Course SECOND WHERE FIRST.Cpno=SECOND.Cno; SELECT FROM Course;
在T-SQL 语句中,外连接是存在空值的,
外连接
例如某个学生没有选课,仍把Student的悬浮元组保存在结果关系中,而在SC表的属性上填上空值NULL,这是需要使用外连接
例3.53 对Student进行左外连接SC
SELECT FROM Student LEFT OUTER JOIN SC ON(Student.Sno=SC.Sno); --SELECT FROM Course; SELECT FROM SC; SELECT FROM Student;
多表连接
两个表以上的操作称为外连接
例3.54 查询每个学生的学号、姓名、选修的课程及成绩
SELECT Student.Sno,Sname,Cname,Grade FROM Student,SC,Course WHERE Student.Sno=SC.Sno AND SC.Cno=Course.Cno; SELECT FROM Course; SELECT FROM SC; SELECT FROM Student;
拓展对SELECT进行改写
SELECT FROM Student,SC,Course WHERE Student.Sno=SC.Sno AND SC.Cno=Course.Cno;
原算法只是对数据进行了一步筛选。
连接查询这部分比较简单,注意对属性的表格定位名时,不要打错了
到此这篇关于SQL Server连接查询的文章就介绍到这了,更多相关SQL Server连接查询内容请搜索狼蚁SEO以前的文章或继续浏览狼蚁网站SEO优化的相关文章希望大家以后多多支持狼蚁SEO!
编程语言
- 如何快速学会编程 如何快速学会ug编程
- 免费学编程的app 推荐12个免费学编程的好网站
- 电脑怎么编程:电脑怎么编程网咯游戏菜单图标
- 如何写代码新手教学 如何写代码新手教学手机
- 基础编程入门教程视频 基础编程入门教程视频华
- 编程演示:编程演示浦丰投针过程
- 乐高编程加盟 乐高积木编程加盟
- 跟我学plc编程 plc编程自学入门视频教程
- ug编程成航林总 ug编程实战视频
- 孩子学编程的好处和坏处
- 初学者学编程该从哪里开始 新手学编程从哪里入
- 慢走丝编程 慢走丝编程难学吗
- 国内十强少儿编程机构 中国少儿编程机构十强有
- 成人计算机速成培训班 成人计算机速成培训班办
- 孩子学编程网上课程哪家好 儿童学编程比较好的
- 代码编程教学入门软件 代码编程教程