SQL Server连接查询的实用教程


Posted in SQL Server onApril 07, 2021

前沿小补充

例3.48 查询平均成绩大于等于80分的学生学号和平均成绩

SELECT Sno,AVG(Grade)
FROM SC
WHERE AVG(Grade)>=80
GROUP BY Sno;
SELECT * FROM SC;

此时发现:

SQL Server连接查询的实用教程

这是因为WHERE子句中是不能用聚集函数作为条件表达式的,正确的查询语句应该是:

SELECT Sno,AVG(Grade)
FROM SC
GROUP BY Sno
HAVING AVG(Grade)>=80;
SELECT * FROM SC;

SQL Server连接查询的实用教程

总结: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;

SQL Server连接查询的实用教程

拓展:去掉WHERE Student.Sno=SC.Sno后发现标称笛卡尔积形式

SELECT Student.*,SC.*
FROM Student,SC

SELECT * FROM SC;
SELECT * FROM Student;

SQL Server连接查询的实用教程

例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;

修改为自然连接竟然是一点一点选择可视的列来进行的,是我想不到的,以为会有专门的语句来进行呢

SQL Server连接查询的实用教程

例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子句由连接谓词和选择谓词组成的复合条件

SQL Server连接查询的实用教程

自身连接

一个表与其自身进行连接,称为自身连接

例3.52 查询每一门课的间接选修课

SELECT FIRST.Cno,SECOND.Cpno
FROM Course FIRST,Course SECOND
WHERE FIRST.Cpno=SECOND.Cno;
SELECT * FROM Course;

SQL Server连接查询的实用教程

在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;

SQL Server连接查询的实用教程

多表连接

两个表以上的操作称为外连接

例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;

SQL Server连接查询的实用教程

拓展:对SELECT进行*改写

SELECT *
FROM Student,SC,Course
WHERE Student.Sno=SC.Sno AND SC.Cno=Course.Cno;

SQL Server连接查询的实用教程

原算法只是对数据进行了一步筛选。

总结:连接查询这部分比较简单,注意对属性的表格定位名时,不要打错了

总结

到此这篇关于SQL Server连接查询的文章就介绍到这了,更多相关SQL Server连接查询内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

SQL Server 相关文章推荐
Sql-Server数据库单表查询 4.3实验课
Apr 05 SQL Server
SQL Server中交叉联接的用法详解
Apr 22 SQL Server
数据库之SQL技巧整理案例
Jul 07 SQL Server
Spark SQL 2.4.8 操作 Dataframe的两种方式
Oct 16 SQL Server
SQLServer中exists和except用法介绍
Dec 04 SQL Server
SQL SERVER实现连接与合并查询
Feb 24 SQL Server
SQL Server实现分页方法介绍
Mar 16 SQL Server
SQL Server远程连接的设置步骤(图文)
Mar 23 SQL Server
SQL Server使用导出向导功能
Apr 08 SQL Server
SQL解决未能删除约束问题drop constraint
May 30 SQL Server
SQL Server数据库备份和恢复数据库的全过程
Jun 14 SQL Server
详解SQL报错盲注
Jul 23 SQL Server
SqlServer: 如何更改表的文件组?(进而改变存储位置)
【HBU】数据库第四周 单表查询
Sql-Server数据库单表查询 4.3实验课
SQL Server 数据库实验课第五周——常用查询条件
SQL Server基本使用和简单的CRUD操作
SQL Server数据定义——模式与基本表操作
2021-4-5课程——SQL Server查询【3】
You might like
一个PHP操作Access类(PHP+ODBC+Access)
2007/01/02 PHP
常用的php对象类型判断
2008/08/27 PHP
基于empty函数的输出详解
2013/06/17 PHP
二行代码解决全部网页木马
2008/03/28 Javascript
js本身的局限性 别让javascript做太多事
2010/03/23 Javascript
AlertBox 弹出层信息提示框效果实现步骤
2010/10/11 Javascript
JQuery在页面中添加和除移DOM示例代码
2013/06/24 Javascript
js中一维数组和二位数组中的几个问题示例说明
2014/07/17 Javascript
Javascript 实现图片无缝滚动
2014/12/19 Javascript
JavaScript类型系统之基本数据类型与包装类型
2016/01/06 Javascript
使用jQuery实现WordPress中的Ctrl+Enter和@评论回复
2016/05/21 Javascript
vue 里面使用axios 和封装的示例代码
2017/09/01 Javascript
详解vue-admin和后端(flask)分离结合的例子
2018/02/12 Javascript
使用JavaScript获取扫码枪扫描得到的条形码的思路代码详解
2020/06/10 Javascript
详谈Vue.js框架下main.js,App.vue,page/index.vue之间的区别
2020/08/12 Javascript
在Python 3中实现类型检查器的简单方法
2015/07/03 Python
彻底理解Python list切片原理
2017/10/27 Python
python决策树之CART分类回归树详解
2017/12/20 Python
利用python画出折线图
2018/07/26 Python
Python 字符串、列表、元组的截取与切片操作示例
2019/09/17 Python
浅谈pymysql查询语句中带有in时传递参数的问题
2020/06/05 Python
微软英国官方网站:Microsoft英国
2016/10/15 全球购物
Smashbox官网:美国知名彩妆品牌
2017/01/05 全球购物
中国海淘族值得信赖的海淘返利网站:55海淘
2017/01/16 全球购物
荷兰男士时尚网上商店:Suitable
2017/12/25 全球购物
党委书记岗位职责
2013/11/24 职场文书
汽车技术服务英文求职信范文
2014/01/02 职场文书
预备党员思想汇报范文
2014/01/11 职场文书
婚礼答谢词
2015/01/04 职场文书
上课睡觉万能检讨书
2015/02/17 职场文书
酒店宣传语大全
2015/07/13 职场文书
学者《孟子》名人名言
2019/08/09 职场文书
写作技巧:优秀文案必备的3种结构
2019/08/19 职场文书
python 定义函数 返回值只取其中一个的实现
2021/05/21 Python
使用CSS3实现按钮悬停闪烁动态特效代码
2021/08/30 HTML / CSS
Python之基础函数案例详解
2021/08/30 Python