SQL学习整理(1)
2013-10-25 00:29
169 查看
++ SQL是一种非过程语言,非过程语言就是指与具体过程无关,SQL描述了如何对数据进行检索,插入、删除,但他并不说明如何进行这样的操作。
++ 在SQL 语句中大小写是不敏感的。
++ SQL输出的结果, 对于字符串类采用左对齐;对于数字类采用右对齐;
++ 子句是SQL语句的一部分,SQL语句是几个子句的结合。 select column,column2是一个子句;
++ 分号即意味着通知解释程序当前语句已经结束
++ 使用DISTINCT查找不重复的数据 select DINSTINCT column from table ;
++ 表达式:可以返回一个值表达式的类型非常广泛它以包括各种类型的数据如数字字符以逻辑型等
++ 运算是你需要对从数据库中返回的数据进行数学处理时所用到的元素运算。可以归为六组数值型:比较型、字符型、逻辑型和备注型以及混合型。
++ SQL 允许你创建一个虚拟列或对已有的列进组合和修改后产生的派生列
select count, count+15 from table;
++ 别名的三种方法:
++ 第一种: 直接在列名后加别名,中间以空格隔开 SELECT price1,price2,(price1+price2) xprice FROM table;
++第二种:用关键字as指定别名,as在select字段和别名之间。 SELECT price1,price2, (price1+price2) as xprice FROM table;
++第三种:SQLSever提供 "=" ,"="放在字段和别名之间。
++ 比较运算就是将两个表达式进行比较并返回三个数值中的一个True,False,Unknow。在数据库领域内NULL的意义就是在一个字段之中没有数据,这与在该字段中数据为零或为空的不是同一个概念,为零或为空是一种特殊的数值,而NULL 则表示在这个字段之中什么也没有。如果你想进行Field=9 的比较而Field 字段是空的那么比较的结果就会返回Unknow。由于Unknow 是一种不正常的状态,所以大多数SQL 都会置其为无效,并提供一种叫IS NULL 的操作来测试Null 的存在。 简而言之,=NULL是判断值是否相等,is
NULL,是类型的判断。
++ 比较运算中,大写字母比小写字母小。大写字母总是排在前面。
++ SQL中,不等于的两种表示方法 !=,<>;
++ 模糊查询用 LIKE, 通配符有 "%"和"_",%表示0或多个字符,_表示一个字符。like 语句对大小写敏感,‘a%'和’A%‘是不同的。
++ SQL是基于集合运算的, UNION和UNION ALL都是对表进行了合并。不同的是,UNION 合并之后,记录不重复; UNION ALL包含重复的记录。交集 intersect、差集 minus。
++但是在MYSql中MySql只支持Union(并集)集合运算,好像也是4.0以后才有的;对于交集Intersect、差集Except,就没有实现了。一般的解决方案用in和not in来解决,小量数据还可以,但数据量大了效率就很低了。
++ 从属关系,IN, Between。
++ 在SQL 语句中大小写是不敏感的。
++ SQL输出的结果, 对于字符串类采用左对齐;对于数字类采用右对齐;
++ 子句是SQL语句的一部分,SQL语句是几个子句的结合。 select column,column2是一个子句;
++ 分号即意味着通知解释程序当前语句已经结束
++ 使用DISTINCT查找不重复的数据 select DINSTINCT column from table ;
++ 表达式:可以返回一个值表达式的类型非常广泛它以包括各种类型的数据如数字字符以逻辑型等
++ 运算是你需要对从数据库中返回的数据进行数学处理时所用到的元素运算。可以归为六组数值型:比较型、字符型、逻辑型和备注型以及混合型。
++ SQL 允许你创建一个虚拟列或对已有的列进组合和修改后产生的派生列
select count, count+15 from table;
++ 别名的三种方法:
++ 第一种: 直接在列名后加别名,中间以空格隔开 SELECT price1,price2,(price1+price2) xprice FROM table;
++第二种:用关键字as指定别名,as在select字段和别名之间。 SELECT price1,price2, (price1+price2) as xprice FROM table;
++第三种:SQLSever提供 "=" ,"="放在字段和别名之间。
++ 比较运算就是将两个表达式进行比较并返回三个数值中的一个True,False,Unknow。在数据库领域内NULL的意义就是在一个字段之中没有数据,这与在该字段中数据为零或为空的不是同一个概念,为零或为空是一种特殊的数值,而NULL 则表示在这个字段之中什么也没有。如果你想进行Field=9 的比较而Field 字段是空的那么比较的结果就会返回Unknow。由于Unknow 是一种不正常的状态,所以大多数SQL 都会置其为无效,并提供一种叫IS NULL 的操作来测试Null 的存在。 简而言之,=NULL是判断值是否相等,is
NULL,是类型的判断。
++ 比较运算中,大写字母比小写字母小。大写字母总是排在前面。
++ SQL中,不等于的两种表示方法 !=,<>;
++ 模糊查询用 LIKE, 通配符有 "%"和"_",%表示0或多个字符,_表示一个字符。like 语句对大小写敏感,‘a%'和’A%‘是不同的。
++ SQL是基于集合运算的, UNION和UNION ALL都是对表进行了合并。不同的是,UNION 合并之后,记录不重复; UNION ALL包含重复的记录。交集 intersect、差集 minus。
++但是在MYSql中MySql只支持Union(并集)集合运算,好像也是4.0以后才有的;对于交集Intersect、差集Except,就没有实现了。一般的解决方案用in和not in来解决,小量数据还可以,但数据量大了效率就很低了。
++ 从属关系,IN, Between。
相关文章推荐
- SQL Server中的临时表的应用
- ora-01659、ORA-32773 增大表空间
- MySQL的Grant命令详解
- mysql 新增、删除用户和权限分配
- MySQL下海量数据的迁移步骤分享
- Redis源码分析系列二十一: 4 select---selectCommand
- Redis源码分析系列二十二: 5 time---"timeCommand"
- Redis源码分析系列二十三: 6 info---infoCommand
- Redis源码分析系列二十四: 7 set---setCommand解析
- mysql监测工具tuning-primer.sh
- 编译MySQL缺少gb2312字符集的问题
- mysql安装后添加gbk字符集的方法
- MongoDB 创建服务(一)
- mysql 优化 insert 性能
- mysql 优化 insert 性能
- 39,数据库(01)
- mysql安装图解
- Redis配置参数详解
- SQL中exists函数用法,转为Hibernate的QBC查询
- Redis的String、Hash类型命令