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基本使用和简单的CRUD操作
Apr 05 SQL Server
SQLServer2019 数据库环境搭建与使用的实现
Apr 08 SQL Server
sql通过日期判断年龄函数的示例代码
Jul 16 SQL Server
sql server删除前1000行数据的方法实例
Aug 30 SQL Server
万能密码的SQL注入漏洞其PHP环境搭建及防御手段
Sep 04 SQL Server
SQL SERVER存储过程用法详解
Feb 24 SQL Server
SQL Server查询某个字段在哪些表中存在
Mar 03 SQL Server
通过T-SQL语句创建游标与实现数据库加解密功能
Mar 16 SQL Server
SQLServer RANK() 排名函数的使用
Mar 23 SQL Server
SQL Server使用PIVOT与unPIVOT实现行列转换
May 25 SQL Server
SQL Server中T-SQL标识符介绍与无排序生成序号的方法
May 25 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查询域名状态whois的类
2006/11/25 PHP
php 正则匹配函数体
2009/08/25 PHP
PHP 5.3.1 安装包 VC9 VC6不同版本的区别是什么
2010/07/04 PHP
比较全面的PHP数组的使用方法小结
2010/09/23 PHP
thinkphp控制器调度使用示例
2014/02/24 PHP
ThinkPHP框架搭建及常见问题(XAMPP安装失败、Apache/MySQL启动失败)
2016/04/15 PHP
分析PHP中单双引号的误区和双引号小隐患
2016/07/19 PHP
PHP共享内存使用与信号控制实例分析
2018/05/09 PHP
一些易混淆且不常用的属性,希望有用
2007/01/29 Javascript
javascript globalStorage类代码
2009/06/04 Javascript
js 上传图片预览问题
2010/12/06 Javascript
JQury slideToggle闪烁问题及解决办法
2011/07/05 Javascript
JavaScript中的细节分析
2012/06/30 Javascript
javascript同页面多次调用弹出层具体实例代码
2013/08/16 Javascript
javascript在网页中实现读取剪贴板粘贴截图功能
2014/06/07 Javascript
为什么JS中eval处理JSON数据要加括号
2015/04/13 Javascript
JavaScript编码风格指南(中文版)
2016/08/26 Javascript
纯js实现悬浮按钮组件
2016/12/17 Javascript
javascript 面向对象function详解及实例代码
2017/02/28 Javascript
基于ES6 Array.of的用法(实例讲解)
2017/09/05 Javascript
nodejs+express搭建多人聊天室步骤
2018/02/12 NodeJs
浅谈一个webpack构建速度优化误区
2019/06/24 Javascript
浅谈Vue static 静态资源路径 和 style问题
2020/11/07 Javascript
vue使用exif获取图片旋转,压缩的示例代码
2020/12/11 Vue.js
Python enumerate遍历数组示例应用
2008/09/06 Python
python获取本机mac地址和ip地址的方法
2015/04/29 Python
python爬虫实战之最简单的网页爬虫教程
2017/08/13 Python
Django实战之用户认证(初始配置)
2018/07/16 Python
python 计算积分图和haar特征的实例代码
2019/11/20 Python
python返回数组的索引实例
2019/11/28 Python
Pycharm创建文件时自动生成文件头注释(自定义设置作者日期)
2020/11/24 Python
英国乡村时尚和宠物用品专家:Pet & Country
2018/07/02 全球购物
学前教育教师求职自荐信
2013/09/22 职场文书
高一学生评语大全
2014/04/25 职场文书
四查四看整改措施
2014/09/19 职场文书
学生会招新宣传语
2015/07/13 职场文书