SQL server查询试题
最近被几到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查询试题相关推荐
- 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 ...
最新文章
- python语言有什么用-python语言的优势是什么
- springboot接口签名统一效验_Python如何接入开放平台?签名验签、加密解密、授权认证测试实战...
- 会飞的汽车来了!旋翼式陆空两栖智能飞车研发成功
- ASP.NET Core Blazor Webassembly 之 渐进式应用(PWA)
- 天池 在线编程 删除字符(单调栈)
- linux iis 环境配置教程,Linux系统Java环境配置教程
- 腾讯、爱奇艺修改超前点播规则:不再是支付额外50元看6集
- ViewPager实现Recycle机制和响应
- 《操作系统》学习辅导
- 移动页面框架头尾固定中间滚动 absolute模拟fixed
- MyBatis拦截器执行顺序
- 振动试验条件及试验标准
- gin-vue-admin 使用docker容器中的数据库
- 前端js计算抽奖概率
- android打印动画,Android实用View系列------TextView实现打印机效果
- Minecraft Server 搭建手账
- 什么是二极管钳位电路
- 利用tushare平台,统计过去一年A股涨停板
- TigerGraph率先推出原生图数据库即服务,3200万美元B轮融资在这里!
- html table设置行高_单元格的行高怎么设置 html语言怎么设置设置表格行高?
热门文章
- 《图解http》读书笔记
- 1700x关闭超线程超频_关闭锐龙9 3900X超线程 游戏帧数居然更高
- AndroidQ适配之存储权限的变更
- 金仓数据库KingbaseES与Oracle大对象类型之间的区别
- 同一无线络下电脑会打不开个别的网站网页,而手机却可以打开。
- Grafana Tempo部署
- 华为手机相册怎么镜像翻转_怎么制作照片视频?利用手机相册快速制作卡点视频...
- JVM(1.8)GC日志解析与分析
- 华为云会议的前世今生
- 【Java基础】:类的概念,成员变量和局部变量,成员方法,构造方法与对象