字符串处理,字符串函数不会改变存储在表中的数据内容,他们只是把函数结果当成查询结果返回。

1. SELECT right(name,2) FROM my_list   --从my_list列表中取出name列前两个字符,同理可使用left()

SELECT right(name,len(name)-charindex(',',name)) FROM my_list  --取出逗号前的所有字符

2. SELECT substring(name,1,2) FROM tablename  --取出从第一个字符开始截取两个两个字符

3. 大小写转换 upper()  lower()

4. 反转字符串顺序  reverse()

5. 清除左边或右边空格  ltrim()  rtrim()

5. 返回字符串长度  len()

Case when then:

use test1
select stuid,stuname,
(case when stuid=1 then '' when stuid=2 then '' else '' end) as temp
from dbo.Student

排序:order by

默认情况下,SQL按升序排列。如要按降序排序需加DESC。

可以指定两列作为排序依据,也可以指定两列按不同的排序,例如第一列升序,第二列降序

order by title ASC,name DESC

SUM/AVG/min/max/count

Distinct 选取不重复的数值,是SQL中的一个关键字,不是函数,所以不用加() -- Select Distinct id from table

top 限制返回结果的数量, top 3 返回最上3条数据

mysql中为 limit 3

插入外键列的值必须已存在于父表的来源列中,这是引用完整性。 外键不一定必须是父表的主键,但必须具有唯一性。add constraint 约束名 foreign key() reference ()

范式规则:

第一范式1NF:

数据列只包含原子性的值,没有重复数据。

第二范式2NF:

已符合第一范式的表只有所有列都是主键的一部分,没有部分函数依赖。

第三范式3NF:

符合2NF,无传递依赖。

部分依赖就是非主属性对部分主键依赖

完全依赖就是非主属性必须全部依赖于组合主键

传递依赖就是非主列对非主列一列,随着另一列数据的改变而改变。

存在部分依赖则不满足2NF

存在传递依赖则不满足3NF

闭包:属性集的闭包就是属性集的每个子集以及根据每个属性可推导出的属性集。

创建新表是如需要对数据进行检测,可加check约束

create table a(

sex char(2) check (sex in ('男‘,’女‘))

SQL是一种声明式语言,声明想要的数据是什么样的,而不是关注计算机怎么得到数据。

SQL的语句执行顺序不按你书写顺序执行,第一步是执行from字句,将数据从硬盘加载到数据缓冲区。

SQL的核心是对数据的引用,对表的引用。

---发于12/14/2016 11:13AM

SQL学习整理_2的更多相关文章

  1. SQL学习整理_1

    数据库是保存表和其他相关SQL结构的容器. 列是存储在表中的一块同类型数据. 行是一组能够描述某个事物的列的集合. SQL不区分大小写,但建议命令采用大写,表名采用小写,便于读写. 建立数据库 CRE ...

  2. SQL学习整理

    SQL整理 SQL 对大小写不敏感! 一.对数据的操作 实现功能分类: 1. 增: 1.1 表存在,插入栏位: //插入新的行(按栏位的顺序插入) INSERT INTO Table_1 VALUES ...

  3. 一个项目涉及到的50个Sql语句(整理版)

    /* 标题:一个项目涉及到的50个Sql语句(整理版) 说明:以下五十个语句都按照测试数据进行过测试,最好每次只单独运行一个语句. */ --1.学生表Student(S,Sname,Sage,Sse ...

  4. 基于实际项目的SQL学习总结

    青云   随笔 - 2, 文章 - 0, 评论 - 1, 引用 - 0 一个项目涉及到的50个Sql语句(整理版) /* 标题:一个项目涉及到的50个Sql语句(整理版) 说明:以下五十个语句都按照测 ...

  5. js数组学习整理

    原文地址:js数组学习整理 常用的js数组操作方法及原理 1.声明数组的方式 var colors = new Array();//空的数组 var colors = new Array(3); // ...

  6. TweenMax学习整理--特有属性

    TweenMax学习整理--特有属性   构造函数:TweenMax(target:Object, duration:Number, vars:Object) target:Object -- 需要缓 ...

  7. HttpClient学习整理

    HttpClient简介HttpClient 功能介绍    1. 读取网页(HTTP/HTTPS)内容    2.使用POST方式提交数据(httpClient3)    3. 处理页面重定向    ...

  8. !!对python列表学习整理列表及数组详细介绍

    1.Python的数组分三种类型:(详细见 http://blog.sina.com.cn/s/blog_6b783cbd0100q2ba.html) (1) list 普通的链表,初始化后可以通过特 ...

  9. Java设计模式(学习整理)---命令模式

    设计模式之Command(学习整理) 1.Command定义 不少Command模式的代码都是针对图形界面的,它实际就是菜单命令,我们在一个下拉菜单选择一个命令时,然后会执行一些动作. 将这些命令封装 ...

随机推荐

  1. MAC 远程桌面链接 证书或链接无效

    RDC --> 首选项  -->  安全性 --> 勾选即使验证失败也要链接.   问题解决.

  2. webservice发布服务:CXF及客户端调用

    2.CXF:(与spring整合) CXF相对来说操作没有AXIS繁琐 1.导入spring的jar包和cxf的jar包 2.在spring的核心配置文件中配置发布的接口类 <?xml vers ...

  3. javascript 核心语言笔记- 3 - 类型、值和变量

    JavaScript 中的数据类型分为两类:原始类型(primitive type)和对象类型(object type).原始类型包括数字.字符串和布尔值 JavaScript 中有两个特殊的原始值: ...

  4. MVC和Webform的比较和替换总结

    1.自定义控件,页面赋值可用HtmlHelper进行扩展 2.aspx的母版页可用Layout代替 3.webform的request,response方法在MVC中同样适应,只是类有点不同,例如表单 ...

  5. ppt - 常规策划

    1 比较图2 progress3 目标 proposal4 market leadership5 分析 - 设计 - 开发 - 实施 - 评估6 innovation7 时间区间表述8 阶梯式9 主 ...

  6. git学习(一):建立本地仓库和基本命令

    前沿 最近一直在做目标跟踪,开始一直是通过文件按日期命名的方式来区分版本的,实在是太麻烦了,现在下定决心学习一下git命令 基本概念 集中式:有一台中央服务器,每个人把需要改的部分拿回去改完再送回来 ...

  7. 移动端使用让图片或者div垂直居中

    ._limgMIiddle{ /* Firefox */ display:-moz-box; -moz-box-pack:center; -moz-box-align:center; /* Safar ...

  8. JAVA基础中的注意点(二)

    1.数组 a.特点:同种数据类型:数组类型一旦确定就不能改变. 连续空间存放:数据空间是连续的. 空间长度:数组有自己的长度,初始化的时候需要定义. 数组的下标:从0开始,第一个数组元素下标为0,最后 ...

  9. QA is more than Testing

    前话:在测试这个行业做了挺多年了,都快忘记自己大学的专业是国际经济与贸易,一个选择可能就决定了一生的方向. 但既然做了选择,就走下去. ----------------- 在这么多年的工作中,测试始终 ...

  10. Android_AsyncTask异步任务(一)

    AsyncTask,是android提供的轻量级的异步类,可以直接继承AsyncTask,在类中实现异步操作,并提供接口反馈当前异步执行的程度(可以通过接口实现UI进度更新),最后反馈执行的结果给UI ...