sql server 查询
基本查询
查询学生表中全体学生的全部信息
select * from student
检索全体学生的学号、姓名
Select Sno,Sname
From Student
查询时改变列标题的显示
检索全体学生的学号、姓名、家庭地址信息,并分别加上“学生”、“学号”、“家庭地址”的别名信息。
select Sname as 学生,Sno as 学号,Home_addr as 家庭地址 from Student
条件查询
查询成绩大于80分的学生的学号及课程号、成绩。
select Sno,Cno,Grade
from SC
where Grade>80
查询成绩介于75~80分的学生的学号及课程号、成绩。
select Sno,Cno,Grade
from SC
where Grade between 75 and 80
查询选修了课程号为“002”,且成绩大于80的学生的学号。
select Sno
from SC
where Grade >80 and Cno ='002'
原因:没有课程号为“002”,且成绩大于80的学生
某些学生选修某门课程后没有参加考试,所以有选课记录,但没有考试成绩,下面我们来查一下缺少成绩的学生的学号和相应的课程号。
select Sno , Cno
from SC
where Grade is null
没有缺少成绩的学生
基于IN子句的数据查询
从课程表中查询出“高数”、“c语言程序设计”的所有信息。
select * from Course
where Cname in ('高数','C语言程序设计')
或select * from Course
where Cname='高数' or cname='C语言程序设计'
基于BETWEEN....AND子句的数据查询
查询所有成绩在70-80之间的学生选课信息。( between...and 为闭区间)
select * from SC
where Grade between 70 and 80
基于 Like 子句的查询
从学生表中分别检索出姓张的所有同学的资料;检索名字的第二个字是“红”或“虹”的所有同学的资料。
select * from Student
where Sname like '张%' or Sname like '_红%' or Sname like '_虹%'
查询课程名为Visual_Basic的课程的学分。(提示:使用ESCAPE短语)
select Credit from Course
where Cname like 'Visual\_Basic' Escape '\'
注意:ESCAPE’\’转义字符,说明后面’_’是普通字符
使用 top 关键字查询
从课程表中检索出前3个课程信息。
select Top 3 * from course
从课程表中检索出前面20%的课程信息。
select Top 20 percent * from Course
消除重复行
检索出学生已选课程的课程号,要求显示的课程号不重复。
select distinct Cno from sc
查询经过计算的值
查询全体学生的姓名及其年龄(提示:利用系统函数getdate())
select Sname as 姓名,YEAR(getdate())-YEAR(Birth) as 年龄
from Student
使用 ORDER BY 语句对查询的结果进行排序
显示所有学生的基本信息,按班号排列,班号相同则再按学号排列。
select * from Student
Order by Classno,Sno
查询全体学生的姓名及其年龄,并按学生的年龄的降序排列。
select Sname as 姓名,year(getdate())-year(Birth) as 年龄
from Student
Order by '年龄' desc
使用聚合函数
查询学生总人数。
select count (distinct Sno) as 学生总人数
from Student
计算“002”号课程的学生平均成绩、最高分、最低分。
select AVG (Grade) as 平均分, MAX(Grade) as 最高分, MIN(Grade) as 最低分
from SC
Where Cno ='002'
使用 Group 子句进行查询
查询各班级学生总人数。
select Classno as 班级,COUNT(*) as 学生人数
from Student
Group by Classno
汇总总分大于150分的学生的学号及总成绩。
select Sno as 学号,Sum(Grade) as 总成绩
from SC
Group by Sno
Having Sum(Grade)>150
查询各个课程号相应的选课人数。
select Cno as 课程号,Count(*) as 学生人数
from SC
Group by Cno
使用 Compute 和 compute by 子句进行查询
汇总每个学生的学号及总成绩。
select Sno 学号,Grade 成绩
from SC
Order by Sno
Compute Sum (Grade) by Sno
修改后:
select sno 学号,sum(grade) as 总分
from sc
group by sno with rollup
按学号汇总出每个学生的学号及总成绩、最高分、最低分,及所有学生总成绩。
select sno 学号,grade 成绩
from SC
order by sno
compute sum(grade), MAX(grade), MIN(grade) by sno
修改后:
注:(1)GROUP BY子句有个缺点,就是返回的结果集中只有合计数据,而没有原始的详细记录,这时可以使用COMPUTE BY子句(2)compute只能在2008R2以下版本,高版本用rollup替代。例:select sno 学号,sum(grade) as 总分 from sc group by sno with rollup
With rollup还会统计所有的grade总分。
sql server 查询相关推荐
- Mysql与Sql Server查询数据库中表以及表字段
1.查询数据库表信息 mysql查询数据库中所有表信息 SELECTtable_name AS '表名',table_comment AS '说明',create_time AS '创建时间',upd ...
- SQL Server 查询性能优化——覆盖索引(二)
在SQL Server 查询性能优化--覆盖索引(一) 中讲了覆盖索引的一些理论. 本文将具体讲一下使用不同索引对查询性能的影响. 下面通过实例,来查看不同的索引结构,如聚集索引.非聚集索引.组合索 ...
- SQL Server查询所有数据库下模式schema
SQL Server查询所有数据库下模式名 需求描述 找到SQL Server里所有数据库下的schema.输出格式为数据库名.模式名. 背景补充 关于SQL Server需要简单介绍下,从数据库对象 ...
- SQL SERVER查询时间条件式写法
如下表: tid tname tdate 1 张三 2009-10-29 19:04:50 2 李四 2006-11-12 11: ...
- 如何在SQL Server查询语句(Select)中检索存储过程(Store Procedure)的结果集
如何在SQL Server查询语句(Select)中检索存储过程(Store Procedure)的结果集?(2006-12-14 09:25:36) 与这个问题具有相同性质的其他描述还包括: 如 ...
- SQL Server查询中特殊字符的处理方法
来源:http://database.51cto.com/art/201009/227766.htm SQL Server查询中,经常会遇到一些特殊字符,比如单引号"'"等,这些字 ...
- sql查询oracle数据,sql-server – 从SQL Server查询Oracle数据库
我有一个Oracle 11g XE数据库,我想将其转移到SQL Server Express 2005中. 起初我以为我只是在Oracle中生成表作为SQL,操纵数据格式,并在SQL Server中运 ...
- sqlserver 指定的网络名不再可用_50个比较实用的SQL Server查询语句(1)
在本文中,我将解释一些通用的SQL查询.我认为每个开发人员都应该了解这些查询.这些查询与SQL的任何特定主题都无关.但是了解这些查询可以解决一些复杂的任务,并且可以在许多场景中使用. 查询1:检索所有 ...
- Sql Server查询性能优化之走出索引的误区
据了解绝大多数开发人员对于索引的理解都是一知半解,局限于大多数日常工作没有机会.也什么没有必要去关心.了解索引,实在哪天某个查询太慢了找到查询条件建个索引就ok,哪天又有个查询慢了,再建立个索引就是, ...
- SQL Server查询存储–概述
The SQL Server Query Store is a relatively new feature introduced in SQL Server 2016. It is basicall ...
最新文章
- 人脸检测流程及正负样本下载
- 「修炼开始」一文带你入门深度学习
- 流行学习、流形学习家族、局部线性嵌入LLE、随机投影(Random Projection)、t-SNE降维及可视化
- 理解可变参数va_list、va_start、va_arg、va_end原理及使用方法
- SDUT_2116 数据结构实验之链表一:顺序建立链表
- 记一次lwip中 遇到 pcb == pcb-next 的pcb死循环debug过程
- Windows下lex 与 yacc的使用
- java对象内存占用情况分析
- C++的JSON库及使用方法
- mysql数据库 auto_increment_mysql数据库 auto_increment
- 配置Log4j(很详细)1
- [转]C#加密解密源码
- HTTP权威指南-概述
- uoj132/BZOJ4200/洛谷P2304 [Noi2015]小园丁与老司机 【dp + 带上下界网络流】
- 运筹优化学习07:Lingo的 @if 函数的使用方法
- 媒体邀约展会展览发布会新品发布企业邀请媒体官方直播媒体
- 模型可视化工具Netron手把手教学
- RNA-seq分析htseq-count的使用
- 2021-08-15 minikube在阿里云centos系统上的安装实践
- 波束形成 基于对角加载的稳健自适应波束形成
热门文章
- SYN Cookies 技术
- SolidWorks添加GB铝型材库要注意的问题
- 绿色环保网站管理系统mysql
- Additive Angular Margin Loss for Deep Face Recognition翻译笔记
- 在计算机网络数据传输时最佳交换数据方式,计算机网络基础:数据通信技术之数据交换技术(二)...
- 算法整理八——回溯算法
- 拆解报告:爱否开物1A2C 65W PD氮化镓充电器智融SW3516多口快充协议芯片
- 基于JAVA线上甜品店售卖系统计算机毕业设计源码+系统+lw文档+部署
- Sze带你探秘法国手工皮鞋之旅完美落幕
- LInkedin快速开发外贸客户技巧,新人必备