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工作组版( ...
随机推荐
- ThunderNet :像闪电一样,旷视再出超轻量级检测器,高达267fps | ICCV 2019
论文提出了实时的超轻量级two-stage detector ThunderNet,靠着精心设计的主干网络以及提高特征表达能力的CEM和SAM模块,使用很少的计算量就能超越目前的one-stage d ...
- Leetcode_239. 滑动窗口最大值
单调队列模板题,扫描一遍,队尾维护单调性,队头维护不超过大小为k的区间. code class Solution { public: vector<int> maxSlidingWindo ...
- [codevs1036]商务旅行<LCA:tarjan&倍增>
题目链接:http://codevs.cn/problem/1036/ 今天翻箱倒柜的把这题翻出来做了,以前做的时候没怎么理解,所以今天来重做一下 这题是一个LCA裸题,基本上就把另一道裸题小机房的树 ...
- C++ STL模板和标准模板库
一.函数模板 #include<iostream> #include<string> using namespace std; template<class T> ...
- 延时对象promise的使用
promise是ES6(ECMA Script6)的新标准,只能在支持ES6的浏览器中使用 Promise是一个延时对象,创建延时对象时需要传入一个函数类型的参数 这个函数有两个参数:resolve和 ...
- 使用Azure Functions 在web 应用中启用自动更新(一)分析基于轮询的 Web 应用的限制
1,引言 上一篇介绍了使用使用 Visual Studio 开发 "Azure Functions" 函数,此篇介绍 “Azure Functions” 的测试以及直接从 Vist ...
- P1250 种树(差分约束 / 贪心)
题目描述 一条街的一边有几座房子.因为环保原因居民想要在路边种些树.路边的地区被分割成块,并被编号成1-N.每个部分为一个单位尺寸大小并最多可种一棵树.每个居民想在门前种些树并指定了三个号码B,E,T ...
- 荐书在精不在多,推荐一份夯实Java基础的必备书单!
文/黄小斜 转载请注明出处 head first Java 推荐指数:⭐️⭐️⭐️⭐️⭐️ 推荐理由: 说实话,这本书和其他的我Java类型书籍真的大不相同,它不会一本正经地去说技术概念和原理,而是通 ...
- Oauth2.0详解,Oauth2.0协议原理
角色: RO (resource owner): 资源所有者,对资源具有授权能力的人,通常比喻为用户 RS (resource server): 资源服务器,存储资源.并处理对资源的访问请求 Clie ...
- Wireshark的使用(抓包、过滤器)
Wireshark的使用(抓包.过滤器) 听语音 分步阅读 Wireshark这个转包工具的简单实用 工具/原料 Wireshark软件包 方法/步骤 Wireshark是世界上最流行的网络分析工具. ...