(自己用于记录,网友不用看)
http://blog.csdn.net/a672489861/article/details/17314959
http://www.cnblogs.com/feichexia/p/MysqlDataBackup.html
http://jingyan.baidu.com/article/948f5924259516d80ef5f95e.html
-------------2016-9-6---------------
exists用于检查子查询是否至少会返回一行数据,该子查询实际上并不返回任何数据,而是返回值True或False。not exists 则相反处理。select name from student where sex = 'm' and mark exists(select 1 from grade where ...)
exists 与 in 最大的区别在于 in引导的子句只能返回一个字段,in子句返回了三个字段,这是不正确的,exists子句是允许的,但in只允许有一个字段返回,在1,2,3中随便去了两个字段即可。
-------------------2016-9-4--------------------------
UNION 运算符
union:联合的意思,即把两次或多次查询结果合并起来。
要求:两次查询的列数必须一致
推荐:列的类型可以不一样,但推荐查询的每一列,想对应的类型以一样
可以来自多张表的数据:多次sql语句取出的列名可以不一致,此时以第一个sql语句的列名为准。
如果不同的语句中取出的行,有完全相同(这里表示的是每个列的值都相同),那么union会将相同的行合并,最终只保留一行。也可以这样理解,union会去掉重复的行。
如果不想去掉重复的行,可以使用union all。
如果子句中有order by,limit,需用括号()包起来。推荐放到所有子句之后,即对最终合并的结果来排序或筛选。
EXCEPT 运算符
EXCEPT 运算符通过包括所有在 TABLE1 中但不在 TABLE2 中的行并消除所有重复行而派生出一个结果表。当 ALL 随 EXCEPT 一起使用时 (EXCEPT ALL),不消除重复行。
在 SQL 语句中,可以为表名称及字段(列)名称指定别名(Alias),别名是 SQL 标准语法,几乎所有的数据库系统都支持通过关键字 AS 来指定别名。
关于内连接和外连接,较为基础的两篇文章:
http://blog.sina.com.cn/s/blog_3d48dbb70100hyz4.html
http://www.cnblogs.com/youzhangjin/archive/2009/05/22/1486982.html
full join在使用的时候,会出现问题,后续补充。
between用法
between限制查询数据范围时包括了边界值,not between不包括
select * from table1 where time between time1 and time2
select a,b,c, from table1 where a not between 数值1 and 数值2
select * from table1 where time between time1 and time2
select a,b,c, from table1 where a not between 数值1 and 数值2