最近被几到SQL server的查询难道了。

查询没学过"张三"老师讲授的任一门课程的学生姓名:

select * from Student s

where s.Sid not in(

select sc.Sid

from teacher t

left join Course c on c.Tid=t.Tid

left join sc on c.Cid=sc.Cid

where t.Tname='张三')

查询出学生的id,然后条件的过滤掉(not in)在子查询里面查询出学过'张三'老师教过的学生。

查询本月过生日的学生信息:

select * from Student

where month(GETDATE())=month(Sage)

先查询出学生表里面的所有信息,再根据关键词month()月,来条件判断, month(GETDATE())=month(Sage),SQL server 当前时间的关键词GETDATE()等于学生表里面的学生出生日期(关键词month()会找出月份)

查询 1990 年出生的学生信息:

select * from Student

where YEAR(Sage)='1990'

先查询出学生表里面的所有信息,再根据关键词YEAR ()年,来条件判断,学生是否出生与'1990'年

查询课程编号“02”的成绩比课程编号“01”课程低的所有同学的学号、姓名

select s.*

from (

select sid,score

from sc

where cid='02')s1

,(

select sid,score

from sc

where cid='01')s2

,Student s

where s.Sid=s1.Sid

and s1.Sid=s2.Sid

and s1.score<s2.score

这是其中的一个方法,也可以用连表来做,我这里用了子查询的方法。

先查询成绩表分别查询出:课程编号“02”的成绩和课程编号“01”的成绩;

再通过条件先把他们的学生id绑定一起,然后再比较“01”比“02” 成绩高。

查询成绩表中各科成绩前三名的信息以及排名:

select *

from (

select sid,cid,score,

row_number()over(

partition by cid

order by score desc) as paimin

from sc) a

where a.paimin<4

使用了row_number()分页,注意使用row_number函数时必须要用over子句选择对某一列,或者几列进行排序才能生成序号。

直接使用查询就可以查询出分页数据,但是不能条件的筛选列:paimin的数据,使用需要加多一个外层,用子查询查询出来,给表加一个名称。

查询各学生的姓名、年龄(只按年份来计算)

select sname,

YEAR(GETDATE())-YEAR(Sage) 年龄

from Student

在查询的时候,用当前的年份减去学生出生的年份,等于他们的年龄

如图:

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. python语言有什么用-python语言的优势是什么
  2. springboot接口签名统一效验_Python如何接入开放平台?签名验签、加密解密、授权认证测试实战...
  3. 会飞的汽车来了!旋翼式陆空两栖智能飞车研发成功
  4. ASP.NET Core Blazor Webassembly 之 渐进式应用(PWA)
  5. 天池 在线编程 删除字符(单调栈)
  6. linux iis 环境配置教程,Linux系统Java环境配置教程
  7. 腾讯、爱奇艺修改超前点播规则:不再是支付额外50元看6集
  8. ViewPager实现Recycle机制和响应
  9. 《操作系统》学习辅导
  10. 移动页面框架头尾固定中间滚动 absolute模拟fixed
  11. MyBatis拦截器执行顺序
  12. 振动试验条件及试验标准
  13. gin-vue-admin 使用docker容器中的数据库
  14. 前端js计算抽奖概率
  15. android打印动画,Android实用View系列------TextView实现打印机效果
  16. Minecraft Server 搭建手账
  17. 什么是二极管钳位电路
  18. 利用tushare平台,统计过去一年A股涨停板
  19. TigerGraph率先推出原生图数据库即服务,3200万美元B轮融资在这里!
  20. html table设置行高_单元格的行高怎么设置 html语言怎么设置设置表格行高?

热门文章

  1. 《图解http》读书笔记
  2. 1700x关闭超线程超频_关闭锐龙9 3900X超线程 游戏帧数居然更高
  3. AndroidQ适配之存储权限的变更
  4. 金仓数据库KingbaseES与Oracle大对象类型之间的区别
  5. 同一无线络下电脑会打不开个别的网站网页,而手机却可以打开。
  6. Grafana Tempo部署
  7. 华为手机相册怎么镜像翻转_怎么制作照片视频?利用手机相册快速制作卡点视频...
  8. JVM(1.8)GC日志解析与分析
  9. 华为云会议的前世今生
  10. 【Java基础】:类的概念,成员变量和局部变量,成员方法,构造方法与对象