SQL Server 之T-SQL基本语句 (3)
继续来用例子总结sql基本语句用法。
在这里在建一个表:课
| 课程名 | 上课时间 |
| 数学 | 周一 |
| 数学 | 周二 |
| 数学 | 周三 |
| 语文 | 周一 |
| 语文 | 周二 |
| 英语 | 周一 |
数据分组:GROUP BY
select 课程名,count(*)
from 课
group by 课程名;//按照课程名来分组,检索出每个课程的上课时间个数
结果为: 数学 3
语文 2
英语 1
注意:group by 子句必须放在where之后和order by之前。
过滤分组:HAVING
比如:
select 课程名, count(*)
from 课
group by 课程名
having count(*)>=2;//选择上课时间次数大于或等于两次的课程
结果为: 数学 3
语文 2
where 和 having 之间差别:
where 在分组前进行过滤,having在分组或进行过滤。where排除后的行在分组中不算数,有时候会影响数据结果。
子查询 IN 操作符
比如:
select 课程名,count(*)
from 课
where 课程名 in (select 课程名
from 课
where count >2);//小括号里确定了上课时间次数大于2的课程名。 等价于: where 课程名 in ('数学');
结果:数学 3
另外一种,
select 课程名,(select count(*)
from 课
where 上课时间='星期一')//小括号里检索了各门课程上课时间为星期一的次数
from 课;
结果为:数学 1
语文 1
英语 1
插入数据
插入完整行
INSERT INTO 课
VALUE('体育', '星期一');
或
insert into 课(课程名,上课时间)
value ('体育','星期一');//这种更加安全
插入行的一部分
和上述一样,就是少插入一部分数据,没插入数据的部分默认为null。若没插入的部分不允许为null,则会报错。
插入某些查询结果
insert into 课(课程名,上课时间)
select 课程名,上课时间
from 另一个课表;//将另一个课表查询的结果插入课表。注意:课表和另一个课表可以列名相同也可以不同。
更新数据
UPDATE SET
比如:
update 课
set 上课时间='周五'
where 课程名='数学' and 上课时间='周一';//将课程名为数学和上课时间为周一的课程上课时间改为周五
删除数据
DELETE
比如:
delete from 课
where 课程名='英语';//删除课程名为英语的那一行
关联表在以后再仔细总结。
SQL Server 之T-SQL基本语句 (3)的更多相关文章
- SQL SERVER如何通过SQL语句获服务器硬件和系统信息
在SQL SERVER中如何通过SQL语句获取服务器硬件和系统信息呢?下面介绍一下如何通过SQL语句获取处理器(CPU).内存(Memory).磁盘(Disk)以及操作系统相关信息.如有不足和遗漏,敬 ...
- SQL Server 定时执行SQL语句的方法
SQL SERVER 定时任务,你可以启动一下.不过要想更加直观的控制,直接写一个程序,定时执行你的存储过程. 1.设置“SQL Server 代理”(SQL Server Agent)服务随系统启动 ...
- sql server常用函数、常用语句
一.常用函数 1.字符串函数 : charindex(':','abc:123') --寻找一个字符在一段字符串中起始的位置 len('zhangsan') --获取一段字符串的长度 lef ...
- 【SQL Server DBA】日常巡检语句3:特定监控(阻塞、top语句、索引、作业)
原文:[SQL Server DBA]日常巡检语句3:特定监控(阻塞.top语句.索引.作业) 1.查询阻塞信息.锁定了哪些资源 --1.查看阻塞信息 select spid,loginame,wai ...
- 【SQL Server学习笔记】Delete 语句、Output 子句、Merge语句
原文:[SQL Server学习笔记]Delete 语句.Output 子句.Merge语句 DELETE语句 --建表 select * into distribution from sys.obj ...
- SQL Server 2012:SQL Server体系结构——一个查询的生命周期(第1部分)
为了缩小读取操作所涉及范围,本文首先着眼于简单的SELECT查询,然后引入执行更新操作有关的附加过程.最后你会读到,优化性能时SQLServer使用还原工具的相关术语和流程. 关系和存储引擎 如图所示 ...
- SQL Server 2012:SQL Server体系结构——一个查询的生命周期(第2部分)
计划缓存(Plan Cache) 如果SQL Server已经找到一个好的方式去执行一段代码时,应该把它作为随后的请求重用,因为生成执行计划是耗费时间且资源密集的,这样做是有有意义的. 如果没找到被缓 ...
- SQL Server 127个SQL server热门资料汇总
SQL Server 127个SQL server热门资料汇总 最近有许多关于如何学习SQLSERVER的问题,其实新手入门的资源和贴子很多,现在向大家隆重推荐经过精心整理的[SQLSer ...
- SQL Server ->> 深入探讨SQL Server 2016新特性之 --- Temporal Table(历史表)
原文:SQL Server ->> 深入探讨SQL Server 2016新特性之 --- Temporal Table(历史表) 作为SQL Server 2016(CTP3.x)的另一 ...
- SQL Server 2005、SQL Server 2008版本比较
SQL Server 2005的版本有SQL Server 2005企业版(Enterprise).SQL Server 2005标准版(Standard) 和SQL Server 2005工作组版( ...
随机推荐
- BZOJ 压力 tarjan 点双联通分量+树上差分+圆方树
题意 如今,路由器和交换机构建起了互联网的骨架.处在互联网的骨干位置的核心路由器典型的要处理100Gbit/s的网络流量. 他们每天都生活在巨大的压力之下.小强建立了一个模型.这世界上有N个网络设备, ...
- 1.NET Core 概述
.NET Core 概述 .NET Core是一个免费的.开源的.跨平台的.广泛使用的Web框架:它是由微软维护的.社区广泛参与支持的一个框架..NET Core可以运行在:Windows.MacOS ...
- ES6中async与await的使用方法
promise的使用方法 promise简介 是异步编程的一种解决方案.从语法上说,Promise 是一个对象,从它可以获取异步操作的消息.解决回调函数嵌套过多的情况 const promise =n ...
- iOS 图片加载和处理
一.图片显示 图片的显示分为三步:加载.解码.渲染.解码和渲染是由 UIKit 进行,通常我们操作的只有加载. 以 UIImageView 为例.当其显示在屏幕上时,需要 UIImage 作为数据源. ...
- NSArray、NSDictionary
一.NSDictionary 1.1 使用自定义对象 key Dictionaries manage pairs of keys and values. A key-value pair within ...
- B. Kvass and the Fair Nut
B. Kvass and the Fair Nut time limit per test 1 second memory limit per test 256 megabytes input sta ...
- git使用基本步骤
一.Git配置环境: 1.通过git init命令把某个目录变成Git可以管理的仓库: 2.生成公钥秘钥:ssh key ssh-keygen -t rsa -C "for example@ ...
- 八、【Docker笔记】使用Dockerfile创建镜像
在前面我们讲解了基于已有的镜像容器创建和基于本地模板导入两种方式来创建镜像,在这里我们就来说说第三种创建镜像的方式.Dockerfile是一个文本格式的配置文件,我们可以通过Dockerfile快速创 ...
- 各种版本docker下载的中国开源地址
最近在群里听说Docker很火,于是自己抱着试试的态度,想玩玩,可是遇到了一些问题,记录下来,方便备忘,也方便防止大家被坑. 我的虚拟机装的是centos 6.5,百度了好多教程,丫的,都不解释,就一 ...
- 【tensorflow2.0】数据管道dataset
如果需要训练的数据大小不大,例如不到1G,那么可以直接全部读入内存中进行训练,这样一般效率最高. 但如果需要训练的数据很大,例如超过10G,无法一次载入内存,那么通常需要在训练的过程中分批逐渐读入. ...