sql加强练习
1.用一条SQL语句 查询出每门课都大于80分的学生姓名
name kecheng fenshu
张三 语文 81
张三 数学 75
李四 语文 76
李四 数学 90
王五 语文 81
王五 数学 100
王五 英语 90
代码:只要找出存在小于80的not in就好了
-----------------------------------
use handsomecui
create table Grade(
name varchar(5),
course varchar(5),
score int
)
-----------------------------------
bulk insert Grade from 'C:\Users\Administrator\Desktop\分数.txt'
with(
fieldterminator='\t',
rowterminator='\n'
) select * from Grade
-----------------------------------
--查询所有成绩在80分以上的学生姓名
select distinct name from Grade where name not in(
select distinct name from Grade where score<=80
)
-----------------------------------
2.学生表 如下:
自动编号 学号 姓名 课程编号 课程名称 分数
1 2005001 张三 0001 数学 69
2 2005002 李四 0001 数学 89
3 2005001 张三 0001 数学 69
删除除了自动编号不同,其他都相同的学生冗余信息
代码:相同信息,肯定要分组了
-----------------------------------
create table Grade1(
自动编号 int,
学号 varchar(10),
姓名 varchar(5),
课程编号 varchar(5),
课程名称 varchar(50),
分数 int
)
-----------------------------------
bulk insert Grade1 from 'C:\Users\Administrator\Desktop\分数.txt'
with(
fieldterminator='\t',
rowterminator='\n'
)
select * from Grade1
-----------------------------------
--删除除了自动编号不同,其他都相同的学生冗余信息
delete Grade1 where 自动编号 not in (select min(自动编号) from Grade1 group by 学号,姓名,课程编号,课程名称,分数)
3.怎么把这样一个表
year month amount
1991 1 1.1
1991 2 1.2
1991 3 1.3
1991 4 1.4
1992 1 2.1
1992 2 2.2
1992 3 2.3
1992 4 2.4
查成这样一个结果
year m1 m2 m3 m4
1991 1.1 1.2 1.3 1.4
1992 2.1 2.2 2.3 2.4
代码:1991,1992分组
-----------------------------------
create table date1105(
styear int,
stmonth int,
stamount float
)
-----------------------------------
bulk insert date1105 from 'C:\Users\Administrator\Desktop\分数.txt'
with (
fieldterminator='\t',
rowterminator='\n'
)
-----------------------------------
select styear,
(select stamount from date1105 m where stmonth=1 and m.styear=date1105.styear)as m1,
(select stamount from date1105 m where stmonth=2 and m.styear=date1105.styear)as m2,
(select stamount from date1105 m where stmonth=3 and m.styear=date1105.styear)as m3,
(select stamount from date1105 m where stmonth=4 and m.styear=date1105.styear)as m4
from date1105 group by styear
4.复制表结构,以及复制表:
-------------------------------
select * from date1105
--复制表结构,不复制数据
select * into date1105_1 from date1105 where 1<>1
select * from date1105_1
drop table date1105_1
select styear a,stmonth b,stamount c into date1105_1 from date1105
select * from date1105_1
-------------------------------
5.三种Select改变列名的方法:
select sum(quantity) as 别名 from order_list
select sum(quantity) 别名 from order_list
select 别名1=sum(quantity),别名2=... from order_list
如果列的名字不确定的话,还可以用 case when then end 语句进行循环取列名的。
参考博客:http://www.cnblogs.com/lidabo/articles/2030972.html
欢迎大家访问handsomecui的博客:http://www.cnblogs.com/handsomecui/p/6032574.html
sql加强练习的更多相关文章
- 最近帮客户实施的基于SQL Server AlwaysOn跨机房切换项目
最近帮客户实施的基于SQL Server AlwaysOn跨机房切换项目 最近一个来自重庆的客户找到走起君,客户的业务是做移动互联网支付,是微信支付收单渠道合作伙伴,数据库里存储的是支付流水和交易流水 ...
- SQL Server 大数据搬迁之文件组备份还原实战
一.本文所涉及的内容(Contents) 本文所涉及的内容(Contents) 背景(Contexts) 解决方案(Solution) 搬迁步骤(Procedure) 搬迁脚本(SQL Codes) ...
- Sql Server系列:分区表操作
1. 分区表简介 分区表在逻辑上是一个表,而物理上是多个表.从用户角度来看,分区表和普通表是一样的.使用分区表的主要目的是为改善大型表以及具有多个访问模式的表的可伸缩性和可管理性. 分区表是把数据按设 ...
- SQL Server中的高可用性(2)----文件与文件组
在谈到SQL Server的高可用性之前,我们首先要谈一谈单实例的高可用性.在单实例的高可用性中,不可忽略的就是文件和文件组的高可用性.SQL Server允许在某些文件损坏或离线的情况下,允 ...
- EntityFramework Core Raw SQL
前言 本节我们来讲讲EF Core中的原始查询,目前在项目中对于简单的查询直接通过EF就可以解决,但是涉及到多表查询时为了一步到位就采用了原始查询的方式进行.下面我们一起来看看. EntityFram ...
- 从0开始搭建SQL Server AlwaysOn 第一篇(配置域控)
从0开始搭建SQL Server AlwaysOn 第一篇(配置域控) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www.cnb ...
- 从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群)
从0开始搭建SQL Server AlwaysOn 第二篇(配置故障转移集群) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www ...
- 从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn)
从0开始搭建SQL Server AlwaysOn 第三篇(配置AlwaysOn) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://w ...
- 从0开始搭建SQL Server AlwaysOn 第四篇(配置异地机房节点)
从0开始搭建SQL Server AlwaysOn 第四篇(配置异地机房节点) 第一篇http://www.cnblogs.com/lyhabc/p/4678330.html第二篇http://www ...
- SQL Server on Linux 理由浅析
SQL Server on Linux 理由浅析 今天的爆炸性新闻<SQL Server on Linux>基本上在各大科技媒体上刷屏了 大家看到这个新闻都觉得非常震精,而美股,今天微软开 ...
随机推荐
- 基于mapreducer的图算法
作者现就职阿里巴巴集团1688技术部 引言 周末看到一篇不错的文章"Graph Twiddling in a MapReduce world" ,介绍MapReduce下一些图算法 ...
- (3)选择元素——(15)总结(Summary)
With the techniques that we have covered in this chapter, we should now be able to locate sets of el ...
- Android应用开发-小巫CSDN博客client之嵌入有米广告
Android应用开发-小巫CSDN博客client之嵌入有米广告 上一篇博客给大家介绍怎样集成友盟社会化组件,本篇继续带来干货,教大家怎样嵌入广告到应用中去.小巫自称专业对接30年,熟悉各大渠道SD ...
- 怎样修复“Windows/System32/Config/System中文件丢失或损坏”故障
怎样修复“Windows/System32/Config/System中文件丢失或损坏”故障 英文原文引自 http://xphelpandsupport.mvps.org/how_do_i_repa ...
- Android Fragment 详解(一)
Android从3.0开始引入fragment,主要是为了支持更动态更灵活的界面设计,比如在平板上的应用.平板机上拥有比手机更大的屏幕空间来组合和交互界面组件们.Fragment使你在做那样的设计时, ...
- Verilog之i2c合约
说明:i2c乔布斯.有这么多的事情在网上参考. 时刻:2014年5一个月6周二星期 1.问题叙述性说明: 正如图.已知的时钟clk为100k,rst为复位信号.上升沿有效,基于Verilog HDL或 ...
- Java和C++的不同
现在一边继续深入C++,一边学习Java,为了学习得更加透彻,不断比较两者之间的不同,以后会慢慢继续增加. 1.在多态的实现上,C++需要利用关键字virtual,而Java不需要,因为在Java中, ...
- 酷Q机器人,QQ机器人使用教程
软件介绍: 酷Q,软件酷Q机器人是一款基于webqq开发的一款自动接收.处理qq消息的软件. 改程序使用易语言编写,精简大量不必要代码,减小了软件体积,优化程序速度,使得酷Q更加轻巧好用. 在消息处理 ...
- SOAP 简单对象访问协议
webService三要素 SOAP.WSDL(WebServicesDescriptionLanguage).UDDI(UniversalDescriptionDiscovery andIntegr ...
- Handler Looper 原理 详解
演示代码 public class MainActivity extends ListActivity { private TextView tv_info; private CalT ...