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

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. mysql数据库视图连接出现2003····错误

    MySQL利用视图工具连接数据库时出现2003····错误                                                  原因:MySQL的服务没有开启 解决步骤: ...

  2. gulp基本介绍

    一.gulp是什么 gulp就是用来机械化的完成重复性质(如less->css:js.css压缩:js混淆)的工作:gulp的机制就是将重复工作抽象成一个个的任务. 二.gulp使用 a.首先确 ...

  3. Revolving Digits(hdu 4333)

    题意:就是给你一个数字,然后把最后一个数字放到最前面去,经过几次变换后又回到原数字,问在这些数字中,比原数字小的,相等的,大的分别有多少个.比如341-->134-->413-->3 ...

  4. Android 框架练成 教你打造高效的图片加载框架(转)

    转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/41874561,本文出自:[张鸿洋的博客] 1.概述 优秀的图片加载框架不要太多, ...

  5. [工作中的设计模式]享元模式模式FlyWeight

    一.模式解析 Flyweight在拳击比赛中指最轻量级,即“蝇量级”或“雨量级”,这里选择使用“享元模式”的意译,是因为这样更能反映模式的用意.享元模式是对象的结构模式.享元模式以共享的方式高效地支持 ...

  6. WPF中的动画——(三)时间线(TimeLine)

    WPF中的动画——(三)时间线(TimeLine) 时间线(TimeLine)表示时间段. 它提供的属性可以让控制该时间段的长度.开始时间.重复次数.该时间段内时间进度的快慢等等.在WPF中内置了如下 ...

  7. 分布式缓存技术redis学习系列(一)——redis简介以及linux上的安装

    redis简介 redis是NoSQL(No Only SQL,非关系型数据库)的一种,NoSQL是以Key-Value的形式存储数据.当前主流的分布式缓存技术有redis,memcached,ssd ...

  8. bulk collect no_data_found exception

    Bulk collect当没有数据抛出异常跟implicit cursor 处理不一样. 先看一下implicit cursor的处理吧: cl scr; DECLARE l_descr hardwa ...

  9. 邮箱、手机号、中文 js跟php正则验证

    邮箱正则: jS: var regEmail = /^([a-zA-Z0-9_-])+@([a-zA-Z0-9_-])+(\.[a-zA-Z0-9_-])+/; //验证 if(regEmail.te ...

  10. 【BZOJ】3561: DZY Loves Math VI

    题意 求\(\sum_{i=1}^{n} \sum_{j=1}^{m} lcm(i, j)^{gcd(i, j)}\)(\(n, m<=500000\)) 分析 很显然要死推莫比乌斯 题解 设\ ...