温习一遍简单的sql语法,把自己掌握还不够的地方,做了些笔记....

1 去重复关键词,distinct

select distinct sname from student;

2 限制结果top的用法

select top 5 id from student 获取前五条记录

可以利用top来写sql分页语句

3 排序order by

select * from student order by id,name desc;

默认是升序 asc,若是降序要在列名后标明desc

order by语句在sql句尾,在where语句后面出现

4 where

操作符 =,<> !=(不等于),>,>=,<,<=,!(不小于),!>(不大于)

BETWEEN......(在...之间)

is NULL(空值)

AND 条件与

OR   条件或

注意: and的结合优先级高于or,所以where后面多条件时候最好用括号写清楚

5 IN,NOT

select * from student

where id in(1,2,3)

where 条件中的NOT表明否定其后跟的任何条件,也就是筛选的是where条件外的数据

6 通配符匹配过滤

Like...模糊匹配

select * from student

where name like '汪%'

选出汪姓 的同学,其中 % 代表匹配任意次,_ 代表匹配单个字符,[]表示匹配中括号里面的字符

7 as 利用as起别名,简便写法

8 聚合函数

利用一些简单的聚合函数汇总数据

AVG()  计算平均值

Count() 计算 个数

Max() 最大值

Min() 最小值

9 分组数据

select COUNT(*) as 人数, Kind as 科目类型
  from Course
  Group by Kind

Having的用法,和where的区别就是where是在检索时过滤行的,而Having是用来过滤分组的

如上,在sql句末加上,Having Count(*) > 2 那么就是要筛选出人数大于2的组了

另外一种理解,where是对数据分组前进行过滤,而Having 是对数据分组后进行过滤,where中排出的行就不包括在分组中了,从而影响到Having子句中基于这些值过滤掉的分组。

至此简单回顾下select子句及其顺序

句子                   说明                       是否必须使用

---------       -----------------       -------------------------

select            要返回的列或者表达式         是

from             从中检索数据的表                仅在从表中选择数据使用

where           行级的过滤                          否

group by       分组说明                             仅在按组计算聚合时使用

Having          组级过略                              否

Order by        输出排序顺序                       否

以前一直弄不清,group by,having...一起怎么使用的,现在清楚了许多。

10 子查询

不多说了,就是一级级嵌套查询下去

11 联结表 多表查询

对于关系表而言,那么就是一种数据存放在对应的一张数据表中,避免数据的重复,比如把产品相关信息放在一张Products表中,产品对应的供应商相关信息放在另一张供应商表Vendors中。

如果我们要通过产品查询其对应的供应商Vendor的相关信息,要么使用之前的子查询,这样就过于繁琐,所以我们要使用表的连接查询。

多表的连接有自然连接,通过join来连接的左外连接和右外连接。

12 组合查询

union

select * from StuCou
where StuNo = 1
union
select * from StuCou
where StuNo = 2

等价于

select * from StuCou
where StuNo = 1 or StuNo = 2

13 插入数据

insert [into] Student  values('1','King',13,'浙江杭州')

这样的话,就是插入一整行数据,要求插入数据个数和数据表中定义的个数要一致

或者可以这么写

insert into Student(stu_id,stu_name,stu_age,stu_address,stu_score)

values(1,'King',13,'浙江杭州',100);

values中的值和前面的属性一一对应

从一个表复制到另一个表

insert * into class1 from class

那么数据库会新建一个名为class1的数据表然后把class中的数据复制到class1中。

如果你想将class表中的部分新数据导入到class1中的话,那么你可以这么写

insert into class1(列1,列2,列3)

select 列11,列22,列33

from class

但是如果行中有不能为null的属性,就不能这么做了

14 更新和删除数据

update ,delete

update 表名

set 列名 ='值'

where 条件

值得注意的是,更新操作往往会因为,表与表之间的约束关系发生冲突

delete from 表名

where 条件

delete是删除表的内容

若想删除整张表中的内容,那么delete from 表名

更快的删除表中所有行,而且速度更快

truncate Table  这样删除不用记录数据的变动所以删除更快

15 创建表,更新,删除

create table 表名(

列名 数据类型 说明(null/not null),

...

)

更新表

给表增加一列

Alter Table 表名

ADD 列名, 数据类型

Drop Column 列名   --删除一列

删除表

Drop Table 表名

from:http://www.cnblogs.com/KingsWang/p/3390766.html

sql必知必会(第四版) 学习笔记一相关推荐

  1. 《Real-Time Rendering》第四版学习笔记——Chapter 9 Physically Based Shading(一)

    一.光的物理特性 光与物体的交互形成了基于物理着色的基础. 在物理层面上,光的模型为电磁横波.每个波都有一个单一的波长λ\lambdaλ.具有单一波长的光叫单色光(monochromatic ligh ...

  2. 《Real-Time Rendering》第四版学习笔记——Chapter 9 Physically Based Shading(二)

    上接文章:<Real-Time Rendering>第四版学习笔记--Chapter 9 Physically Based Shading(一) 六.微观几何 每个可见的表面点都包含了很多 ...

  3. 《Real-Time Rendering》第四版学习笔记——Chapter 9 Physically Based Shading(三)

    前文: <Real-Time Rendering>第四版学习笔记--Chapter 9 Physically Based Shading(一) <Real-Time Renderin ...

  4. sql必知必会(第四版) 学习笔记二 视图

    本书用到的几个表的建表sql语句如下: --销售产品供应商 CREATE TABLE Vendors (vend_id varchar(20) not null,vend_name varchar(5 ...

  5. 《鸟哥的私房菜基础篇》第四版学习笔记——第0章 计算机概论

    文章目录 http://linux.vbird.org/linux_basic/ 一.计算机:辅助人脑的好工具 1.计算机硬件的五大单元 2.一切设计的起点: CPU 的架构 3.其它单元的设备 4. ...

  6. 《鸟哥的私房菜基础篇》第四版学习笔记——第1章Linux是什么与如何学习

    文章目录 一.Liux是什么?? 1.是操作系统or应用程序?? 2.Linux之前,Unix的历史 3.关于 GNU 计划.自由软件与开放原始码 二.Torvalds 的 Linux 发展 1.与 ...

  7. Thinking in Java,Fourth Edition(Java 编程思想,第四版)学习笔记(二)之Introduction to Objects...

    The genesis of the computer revolution was a machine. The genesis of out programming languages thus ...

  8. SQL必知必会第4版读书笔记

    SQL必知必会_4 前言 @author 鲁伟林 在读电子版<<SQL必知必会>> 第4版时,做了下笔记.供以后自己或者其他学习者参考. 电子版<<SQL必知必会& ...

  9. 《SQL必知必会(第5版)》挑战题笔记 | 所用DBMS为Mysql,mysql workbench安装

    文章目录 一.安装 step1:mysql安装 step2:mysql workbench安装 二.下载随书资料 三.代码实战练习 2.2 检索单个列 四.MySQL知识点回顾 五.挑战题 2.9挑战 ...

最新文章

  1. 这位90后女博导上热搜了!曾被Nature主编点赞,放弃百万英镑年薪回国任教
  2. js运动 运动效果留言本
  3. #ifdef ...#else...#endif等条件编译用法
  4. 【学术相关】西湖大学教授:都说不唯论文,那我们发表论文是为了什么?
  5. python导入gif_Python之GIF图倒放,沙雕快乐源泉!我已经笑了一天了!
  6. Selenium 与PhantomJS
  7. MYCAT 安装(转)
  8. 用JavaScript怎么写Windows的状态栏
  9. ansys15.0安装教程
  10. (原创)安卓抓包方案分享
  11. 清华大学python_清的解释|清的意思|汉典“清”字的基本解释
  12. 求和计算机教案,數列求和教案.doc
  13. 看完一本青春小说后的感悟。
  14. 知物由学 | SO VMP 加壳与混淆,为移动应用提供函数级保护
  15. luogu1968 美元汇率
  16. Outlook邮件撤回有时间限制吗_怎么操作?
  17. Excel数据分析之数组
  18. 10个的国外大学论文期刊网站分享
  19. linux内核区分光口电口吗,服务器网卡光口和电口的区别?
  20. 首届阿里巴巴研发效能嘉年华

热门文章

  1. How to Map Distinct Value Types Using Java Generics--reference
  2. Linux下C语言的调试--转
  3. Python中最常用十大图像处理库详细介绍
  4. 包银消费CTO汤向军:消费金融大数据风控架构与实践
  5. 谷歌大脑科学家亲解 LSTM:一个关于“遗忘”与“记忆”的故事 本文作者:奕欣 2017-01-14 09:46 导语:AI科技评论保证这是相对通俗易懂的一篇入门介绍了,看不懂的话欢迎关注「AI 科技
  6. 回顾亚马逊推荐系统20年发展
  7. 北京迎“豪宅元年”:四环房价将迈入8万元时代
  8. 传统企业向产业互联网转型的两条路径
  9. Oracle-AWR性能报告解读
  10. 从零开始的51单片机——VsCode+EIDE环境搭建