继续来用例子总结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. ehcahe + redis 实现多级缓存

    1,了解数据存储的位置的不同 数据库:存储在磁盘上 redis:存储在内存上 ehcache:应用内缓存 缓存的目的:是为了将数据从一个较慢的介质上读取出来,放到一个较快的介质上,为了下次读取的时候更 ...

  2. ArrayList 扩容 和 Vector

    public boolean add(E e) { ensureCapacityInternal(size + 1); // Increments modCount!! elementData[siz ...

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

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

  4. Java基础知识2-Java基本语法

    数据类型 1.Java程序的基本组成 关键字:被Java语言赋予特定含义的单词,不能作标识符,如private. 标识符:由数字.字母.$和_组成的字符串,用于引用变量.且首字母不能是数字. 变量:程 ...

  5. .NET Core项目部署到Linux(Centos7)(九)防火墙配置,允许外网或局域网访问.NET Core站点

    目录 1.前言 2.环境和软件的准备 3.创建.NET Core API项目 4.VMware Workstation虚拟机及Centos 7安装 5.Centos 7安装.NET Core环境 6. ...

  6. Java调用ARM模板执行Azure Rest建立VM过程

    Azure Resource Manager 提供一致的管理层,用于管理通过 Azure PowerShell.Azure CLI.Azure 门户.REST API 和开发工具执行的任务,所有工具使 ...

  7. 安装一个KVM服务器

                                                              安装一个KVM服务器     案例1:安装一个KVM服务器 案例2:KVM平台构建及 ...

  8. python_Mock基本使用

    ## 1.mock简介 1. py3已将mock集成到unittest库中 2. 为的就是更好的进行单元测试 3. 简单理解,模拟接口返回参数 4. 通俗易懂,直接修改接口返回参数的值 5. 官方文档 ...

  9. docker 服务器安装harbor

    一.Harbor是什么? 二.环境搭建 2.1在linux centos搭建服务 2.2docker安装 yum安装 yum install docker 卸载 :pip uninstall dock ...

  10. Linux 任务管理篇(一)

    查看网络的联机状态    netstat -a 查看后台执行的程序    ps -aux 将内存中的数据快速写入到硬盘中        sync