继续来用例子总结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)的更多相关文章

  1. SQL SERVER如何通过SQL语句获服务器硬件和系统信息

    在SQL SERVER中如何通过SQL语句获取服务器硬件和系统信息呢?下面介绍一下如何通过SQL语句获取处理器(CPU).内存(Memory).磁盘(Disk)以及操作系统相关信息.如有不足和遗漏,敬 ...

  2. SQL Server 定时执行SQL语句的方法

    SQL SERVER 定时任务,你可以启动一下.不过要想更加直观的控制,直接写一个程序,定时执行你的存储过程. 1.设置“SQL Server 代理”(SQL Server Agent)服务随系统启动 ...

  3. sql server常用函数、常用语句

    一.常用函数 1.字符串函数 : charindex(':','abc:123')    --寻找一个字符在一段字符串中起始的位置 len('zhangsan')   --获取一段字符串的长度 lef ...

  4. 【SQL Server DBA】日常巡检语句3:特定监控(阻塞、top语句、索引、作业)

    原文:[SQL Server DBA]日常巡检语句3:特定监控(阻塞.top语句.索引.作业) 1.查询阻塞信息.锁定了哪些资源 --1.查看阻塞信息 select spid,loginame,wai ...

  5. 【SQL Server学习笔记】Delete 语句、Output 子句、Merge语句

    原文:[SQL Server学习笔记]Delete 语句.Output 子句.Merge语句 DELETE语句 --建表 select * into distribution from sys.obj ...

  6. SQL Server 2012:SQL Server体系结构——一个查询的生命周期(第1部分)

    为了缩小读取操作所涉及范围,本文首先着眼于简单的SELECT查询,然后引入执行更新操作有关的附加过程.最后你会读到,优化性能时SQLServer使用还原工具的相关术语和流程. 关系和存储引擎 如图所示 ...

  7. SQL Server 2012:SQL Server体系结构——一个查询的生命周期(第2部分)

    计划缓存(Plan Cache) 如果SQL Server已经找到一个好的方式去执行一段代码时,应该把它作为随后的请求重用,因为生成执行计划是耗费时间且资源密集的,这样做是有有意义的. 如果没找到被缓 ...

  8. SQL Server 127个SQL server热门资料汇总

      SQL Server 127个SQL server热门资料汇总     最近有许多关于如何学习SQLSERVER的问题,其实新手入门的资源和贴子很多,现在向大家隆重推荐经过精心整理的[SQLSer ...

  9. SQL Server ->> 深入探讨SQL Server 2016新特性之 --- Temporal Table(历史表)

    原文:SQL Server ->> 深入探讨SQL Server 2016新特性之 --- Temporal Table(历史表) 作为SQL Server 2016(CTP3.x)的另一 ...

  10. SQL Server 2005、SQL Server 2008版本比较

    SQL Server 2005的版本有SQL Server 2005企业版(Enterprise).SQL Server 2005标准版(Standard) 和SQL Server 2005工作组版( ...

随机推荐

  1. CodeForces - 1249E 楼梯和电梯

    题意:第一行输入n和c,表示有n层楼,电梯来到需要时间c 输入两行数,每行n-1个,表示从一楼到二楼,二楼到三楼.....n-1楼到n楼,a[ ] 走楼梯和 b[ ] 乘电梯花费的时间 思路:动态规划 ...

  2. python—time模块

    timetime模块提供各种时间相关的功能,与时间相关的模块有:time,datetime,calendar等. 时间有三种表示方式,一种是时间戳.一种是格式化时间.一种是时间元组.时间戳和格式化时间 ...

  3. [vijos1883]月光的魔法<递归>

    题目链接:https://vijos.org/p/1883 这道题还有另外一种版本叫天神下凡,属于模拟题,可是模拟题数据太水以至于模拟题A了都不一定在vijos上A.... 在模拟题里我用的是一种类似 ...

  4. thinkphp5.1中使用链式操作的坑

    1.在进行tp5->tp5.1的时候,没有想太多,直接使用之前的代码:结果在该操作中,多次调用该get方法,tp5.1的链式操作一直保持了之前的搜索条件,截图如下:(具体的代码没有展示) 2.然 ...

  5. LeetCode(一) jump game

    一. 1. #include<iostream> #include<cmath> using namespace std; bool CanJump(int n[],int n ...

  6. NCEP CFSR数据下载

    一.简介 CFSR(Climate Forecast SystemReanalysis)再分析资料使用了 GEOS-5(Goddard EarthObserving System)大气模式与资料同化系 ...

  7. netcore webapi参数

    1.参数带[FormBody]标签 2.ajax 请求 content-type:application/json 3.post时 需要JSON.stringify 4.GET 时不需要JSON.st ...

  8. C 旅店

    时间限制 : - MS   空间限制 : - KB  评测说明 : 1s,256m 问题描述 一条笔直的公路旁有N家旅店,从左往右编号1到N,其中第i家旅店的位置坐标为Xi.旅人何老板总在赶路.他白天 ...

  9. 《快速认识 Three.js 》

    此文仅作备份之用,为了更好的阅读体验,建议访问原文链接:<Three.js - 走进3D的奇妙世界.> ,感谢原作者的好文.

  10. 剑指Offer系列之题1~题5

    目录 1.二维数组的查找 2.替换空格 3.从尾到头打印链表 4.链表中环的入口节点 5.重建二叉树 写在前面:本随笔中包含五道题:题目描述,题目思路以及对应解法. 1.二维数组的查找 在一个二维数组 ...