sql server使用手册(SQL Server连接查询的实用教程)
类别:数据库 浏览量:2293
时间:2021-09-29 01:01:25 sql server使用手册
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连接查询内容请搜索开心学习网以前的文章或继续浏览下面的相关文章希望大家以后多多支持开心学习网!
您可能感兴趣
- sqlserver语句创建窗口布局(SQL Server 2012 开窗函数)
- sqlserver数据回退(SQLServer数据库处于恢复挂起状态的解决办法)
- SQLServer数据库中开启CDC导致事务日志空间被占满的原因(SQLServer数据库中开启CDC导致事务日志空间被占满的原因)
- sqlserver表分区步骤(行转列之SQL SERVER PIVOT与用法详解)
- centos系统mysql安装及连接教程(CentOS8安装SQLServer2019的过程)
- sqlserver 存储过程(SQL Server解析XML数据的方法详解)
- sql中去除重复记录的关键字(sqlserver查询去掉重复数据的实现)
- sqlserver2000升级教程(MSSQL 2000 使用帮助sql server简明教程)
- SqlServer 表连接教程(问题解析)(SqlServer 表连接教程问题解析)
- sqlserver栏位说明(SQL Server重置IDENTITY属性种子值操作)
- sqlserver表空间占用率(SQL Server获取磁盘空间使用情况)
- sqlserver并发性能(sql server中的任务调度与CPU深入讲解)
- sqlserver连接字符串函数(SQL SERVER 2012新增函数之字符串函数FORMAT详解)
- SqlServer类似正则表达式的字符处理问题(SqlServer类似正则表达式的字符处理问题)
- sqlserver游标实例(Sql Server临时表和游标的使用小结)
- SqlServer数据库中文乱码问题解决方法(SqlServer数据库中文乱码问题解决方法)
- 沪上这16所高校 萌新 礼包开箱 哪一款让你心动(沪上这16所高校萌新)
- 她救了被绑架的他,而这一切竟是一场阴谋...(她救了被绑架的他)
- 冬季养殖这6种阴生植物,方便又好养,你家有么(冬季养殖这6种阴生植物)
- 阴生植物为什么不怕照不到阳光(阴生植物为什么不怕照不到阳光)
- 阴生环境 耐阴地被植物,你知道哪些(阴生环境耐阴地被植物)
- 常见的喜阴植物有哪些 养室内盆栽就在这里选(常见的喜阴植物有哪些)
热门推荐
- html5input标签的默认属性(移动端HTML5 input常见问题小结)
- 云服务器增加硬盘分区(云服务器硬盘要根据业务类型选择)
- nginx服务器怎么屏蔽爬虫(nginx 防盗链防爬虫配置详解)
- Docker 部署单机版 Pulsar 和集群架构 Redis(开发神器)的方法(Docker 部署单机版 Pulsar 和集群架构 Redis开发神器的方法)
- python有哪几种赋值(关于python多重赋值的小问题)
- css继承属性有哪些(CSS特殊性、继承与层叠)
- nodejs实现websocket服务端(Node.js+express+socket实现在线实时多人聊天室)
- reactnative混合开发教程(教你使用vscode 搭建react-native开发环境)
- iis服务器无法启动(Windows服务器中IIS返回的网页错误代码大汇总及原因解)
- react新手指引页面编写(React+TypeScript进行项目构建案例讲解)
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9