1. 基本查询

  1. 查询学生表中全体学生的全部信息

select * from student

  1. 检索全体学生的学号、姓名

Select Sno,Sname

From Student

  1. 查询时改变列标题的显示

检索全体学生的学号、姓名、家庭地址信息,并分别加上“学生”、“学号”、“家庭地址”的别名信息。

select Sname as 学生,Sno as 学号,Home_addr as 家庭地址 from Student

  1. 条件查询

  1. 查询成绩大于80分的学生的学号及课程号、成绩。

select Sno,Cno,Grade

from SC

where Grade>80

  1. 查询成绩介于75~80分的学生的学号及课程号、成绩。

select Sno,Cno,Grade

from SC

where Grade between 75 and 80

  1. 查询选修了课程号为“002”,且成绩大于80的学生的学号。

select Sno

from SC

where Grade >80 and Cno ='002'

原因:没有课程号为“002”,且成绩大于80的学生

  1. 某些学生选修某门课程后没有参加考试,所以有选课记录,但没有考试成绩,下面我们来查一下缺少成绩的学生的学号和相应的课程号。

select Sno , Cno

from SC

where Grade is null

没有缺少成绩的学生

  1. 基于IN子句的数据查询

从课程表中查询出“高数”、“c语言程序设计”的所有信息。

select * from Course

where Cname in ('高数','C语言程序设计')

或select * from Course

where Cname='高数' or cname='C语言程序设计'

  1. 基于BETWEEN....AND子句的数据查询

查询所有成绩在70-80之间的学生选课信息。( between...and 为闭区间)

select * from SC

where Grade between 70 and 80

  1. 基于 Like 子句的查询

  1. 从学生表中分别检索出姓张的所有同学的资料;检索名字的第二个字是“红”或“虹”的所有同学的资料。

select * from Student

where Sname like '张%' or Sname like '_红%' or Sname like '_虹%'

  1. 查询课程名为Visual_Basic的课程的学分。(提示:使用ESCAPE短语)

select Credit from Course

where Cname like 'Visual\_Basic' Escape '\'

注意:ESCAPE’\’转义字符,说明后面’_’是普通字符

  1. 使用 top 关键字查询

  1. 从课程表中检索出前3个课程信息。

select Top 3 * from course

  1. 从课程表中检索出前面20%的课程信息。

select Top 20 percent * from Course

  1. 消除重复行

检索出学生已选课程的课程号,要求显示的课程号不重复。

select distinct Cno from sc

  1. 查询经过计算的值

查询全体学生的姓名及其年龄(提示:利用系统函数getdate())

select Sname as 姓名,YEAR(getdate())-YEAR(Birth) as 年龄

from Student

  1. 使用 ORDER BY 语句对查询的结果进行排序

  1. 显示所有学生的基本信息,按班号排列,班号相同则再按学号排列。

select * from Student

Order by Classno,Sno

  1. 查询全体学生的姓名及其年龄,并按学生的年龄的降序排列。

select Sname as 姓名,year(getdate())-year(Birth) as 年龄

from Student

Order by '年龄' desc

  1. 使用聚合函数

  1. 查询学生总人数。

select count (distinct Sno) as 学生总人数

from Student

  1. 计算“002”号课程的学生平均成绩、最高分、最低分。

select AVG (Grade) as 平均分, MAX(Grade) as 最高分, MIN(Grade) as 最低分

from SC

Where Cno ='002'

  1. 使用 Group 子句进行查询

  1. 查询各班级学生总人数。

select Classno as 班级,COUNT(*) as 学生人数

from Student

Group by Classno

  1. 汇总总分大于150分的学生的学号及总成绩。

select Sno as 学号,Sum(Grade) as 总成绩

from SC

Group by Sno

Having Sum(Grade)>150

  1. 查询各个课程号相应的选课人数。

select Cno as 课程号,Count(*) as 学生人数

from SC

Group by Cno

  1. 使用 Compute 和 compute by 子句进行查询

  1. 汇总每个学生的学号及总成绩。

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

  1. 按学号汇总出每个学生的学号及总成绩、最高分、最低分,及所有学生总成绩。

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 查询相关推荐

  1. Mysql与Sql Server查询数据库中表以及表字段

    1.查询数据库表信息 mysql查询数据库中所有表信息 SELECTtable_name AS '表名',table_comment AS '说明',create_time AS '创建时间',upd ...

  2. SQL Server 查询性能优化——覆盖索引(二)

    在SQL Server 查询性能优化--覆盖索引(一)  中讲了覆盖索引的一些理论. 本文将具体讲一下使用不同索引对查询性能的影响. 下面通过实例,来查看不同的索引结构,如聚集索引.非聚集索引.组合索 ...

  3. SQL Server查询所有数据库下模式schema

    SQL Server查询所有数据库下模式名 需求描述 找到SQL Server里所有数据库下的schema.输出格式为数据库名.模式名. 背景补充 关于SQL Server需要简单介绍下,从数据库对象 ...

  4. SQL SERVER查询时间条件式写法

    如下表: tid    tname     tdate     1      张三      2009-10-29 19:04:50     2      李四      2006-11-12 11: ...

  5. 如何在SQL Server查询语句(Select)中检索存储过程(Store Procedure)的结果集

    如何在SQL Server查询语句(Select)中检索存储过程(Store Procedure)的结果集?(2006-12-14 09:25:36) 与这个问题具有相同性质的其他描述还包括: 如 ...

  6. SQL Server查询中特殊字符的处理方法

    来源:http://database.51cto.com/art/201009/227766.htm SQL Server查询中,经常会遇到一些特殊字符,比如单引号"'"等,这些字 ...

  7. sql查询oracle数据,sql-server – 从SQL Server查询Oracle数据库

    我有一个Oracle 11g XE数据库,我想将其转移到SQL Server Express 2005中. 起初我以为我只是在Oracle中生成表作为SQL,操纵数据格式,并在SQL Server中运 ...

  8. sqlserver 指定的网络名不再可用_50个比较实用的SQL Server查询语句(1)

    在本文中,我将解释一些通用的SQL查询.我认为每个开发人员都应该了解这些查询.这些查询与SQL的任何特定主题都无关.但是了解这些查询可以解决一些复杂的任务,并且可以在许多场景中使用. 查询1:检索所有 ...

  9. Sql Server查询性能优化之走出索引的误区

    据了解绝大多数开发人员对于索引的理解都是一知半解,局限于大多数日常工作没有机会.也什么没有必要去关心.了解索引,实在哪天某个查询太慢了找到查询条件建个索引就ok,哪天又有个查询慢了,再建立个索引就是, ...

  10. SQL Server查询存储–概述

    The SQL Server Query Store is a relatively new feature introduced in SQL Server 2016. It is basicall ...

最新文章

  1. 人脸检测流程及正负样本下载
  2. 「修炼开始」一文带你入门深度学习
  3. 流行学习、流形学习家族、局部线性嵌入LLE、随机投影(Random Projection)、t-SNE降维及可视化
  4. 理解可变参数va_list、va_start、va_arg、va_end原理及使用方法
  5. SDUT_2116 数据结构实验之链表一:顺序建立链表
  6. 记一次lwip中 遇到 pcb == pcb-next 的pcb死循环debug过程
  7. Windows下lex 与 yacc的使用
  8. java对象内存占用情况分析
  9. C++的JSON库及使用方法
  10. mysql数据库 auto_increment_mysql数据库 auto_increment
  11. 配置Log4j(很详细)1
  12. [转]C#加密解密源码
  13. HTTP权威指南-概述
  14. uoj132/BZOJ4200/洛谷P2304 [Noi2015]小园丁与老司机 【dp + 带上下界网络流】
  15. 运筹优化学习07:Lingo的 @if 函数的使用方法
  16. 媒体邀约展会展览发布会新品发布企业邀请媒体官方直播媒体
  17. 模型可视化工具Netron手把手教学
  18. RNA-seq分析htseq-count的使用
  19. 2021-08-15 minikube在阿里云centos系统上的安装实践
  20. 波束形成 基于对角加载的稳健自适应波束形成

热门文章

  1. SYN Cookies 技术
  2. SolidWorks添加GB铝型材库要注意的问题
  3. 绿色环保网站管理系统mysql
  4. Additive Angular Margin Loss for Deep Face Recognition翻译笔记
  5. 在计算机网络数据传输时最佳交换数据方式,计算机网络基础:数据通信技术之数据交换技术(二)...
  6. 算法整理八——回溯算法
  7. 拆解报告:爱否开物1A2C 65W PD氮化镓充电器智融SW3516多口快充协议芯片
  8. 基于JAVA线上甜品店售卖系统计算机毕业设计源码+系统+lw文档+部署
  9. Sze带你探秘法国手工皮鞋之旅完美落幕
  10. LInkedin快速开发外贸客户技巧,新人必备