SQL必知必会(2) 2~6课
来源:互联网 发布:淘宝上的阿玛尼正品吗 编辑:程序博客网 时间:2024/06/05 12:49
参考http://blog.csdn.net/basycia/article/details/52502529
http://blog.csdn.net/dreamworker007/article/details/13161587
第2课 检索数据----SELECT 检索一个或者多个列
单列,多列,所有列
SELECT id/SELECT id,age/SELECT *
FROM user;
- 多条SQL语句必须以“ ;”分隔。
- SQL语句不区分大小写,SELECT和select是相通的,一般关键字大写,表名、列名小写,不过表名,列名和值可能有所不同(依赖于具体点DBMS及其如何配置)。
- 处理SQL语句时,其中所有 空格都被忽略(将SQL语句分成多行有利于阅读和调试)。
- 检索多个列,列名之间必须以“ ,”分隔,但是最后一个列不用加,第一个检索的行是0行,limit 5 offset 3---简化版:limit 3,5,实际是从第四行开始,检索5行
- 检索所有列使用(*)通配符,用于检索名字未知的列或者需要知道表中的每一列,性能低,不同的数据库sql语言有差异!!
- 检索不同的值使用DISTINCT关键字 ,作用于所有列,放在列名前面,其不仅作用于紧跟其后的那一列。
例:SELECT DISTINCT vend_id,prod_price FROM Products; 除非两行相同,否则所有的列都会被检索出来。 - 使用注释 --行内注释 #一行的开始使用(不常用) /* */多行的注释
第3课 排序检索数据----ORDER BY
SELECT id ,age
FROM user
ORDER BY id DESC,age ;
FROM user
ORDER BY id DESC,age ;
先按id降序排序,再按年龄
- 子句:SQL语句由子句构成,有些子句是必须的,有些则是可选的。一个子句通常是由一个关键字加上所提供的数据组成。
- ORDER BY 可以取一个或多个列的名字,据此对输出进行排序。如果他不是最后的子句,将会出现错误信息,并且可以使用非检索的列排序。
- 按多个列进行排序: ..ORDER BY xx,yy; 先按xx,在xx都相同时再按yy,若xx中都是唯一的则不会按yy排列
..ORDER BY 2,3; 指定的是选择列的相对位置而不是列名 - 指定排序方向:默认升序,DESC(降序)关键字只应用到直接位于其前面的列名,在多个列上进行降序排序,必须对每一列指定DESC关键字。ORDER BY id,age DESC;
- A与a默认相同,无法简单使用ORDER BY改变,注意数据库命名方式。
第4课:过滤数据----WHERE
- 使用WHERE子句:数据根据WHERE子句中指定的搜索条件进行过滤,接在FROM子句之后给出。
- 数据最好不要再应用层过率,客户端应用处理数据,会使服务器发动多余数据,造成带宽的浪费。
- WHERE子句操作符
操作符说明操作符说明=等于>大于<>不等于>=大于等于!=不等于!>不大于BETWEEN在指定的两个值之间IS NULL为NULL值!<不小于<小于
- 关于引号:字符串用单引号限制,用来与数值列比较不需要用引号,order by 位于where之后;
- 范围值检查 between例:
SELECT prod_name,prod_price
FORM Products
WHERE prod_price BETWEEN 5 AND 10; - NULL:无值。它与字段包含0,空字符串,或仅包含空格不同;
- 确定值是否为NULL,不能简单的检查是否=NULL,应该用特殊的IS NULL, WHERE prod_price is NULL;
第5课:高级数据过滤----NOT--IN+逻辑操作(and or )
- 操作符:用来联结或改变WHERE子句中的子句的关键字,也叫逻辑操作符。
- AND:检索满足条件的所有指定的行 WHERE vend_id='DLL01' AND vend_id=‘BRS01’
- OR: 与AND相反,许多DBMS在第一个条件得到满足的情况下就不再计算第二个条件了(第一个满足时,不管是否满足,相应的行都将被检索出来)
- AND再求值优先级大于OR,可以使用()改变结合顺序避免出错。
- IN WHERE子句中用来指定要匹配值的清单的关键字,功能与OR相当。
例:WHERE vend_id IN ('DLL01','BRS01') 等同于WHERE vend_id='DLL01' OR vend_id=‘BRS01’
最大的优点是可以包含其他SELECT语句,能够更动态地建立WHERE子句。 - NOT:WHERE子句中用来否定其后条件关键字。
例:WHERE NOT vend_id='DLL01' 等同于 WHERE vend_id<>'DLL01'
优势是与IN操作符联合使用时,NOT可以非常简单的找出与条件列表不匹配的行。
第6课:通配符进行过滤---like
Like...模糊匹配
select * from student
where name like '汪%'
选出汪姓 的同学,其中 % 代表匹配任意次,_ 代表匹配单个字符,[]表示匹配中括号里面的任意一个字符
阅读全文
0 0
- SQL必知必会(2) 2~6课
- sql学习笔记(2)----------SQL语法
- SQL必知必会vol.2
- SQL习题集(2)
- sql注入(2)
- 常用SQL(2)
- SQL速成(2)
- SQL高级(2)
- SQL練習題(2)
- SQL描述(2)
- pl/sql(2)
- SQL 高级(2)
- 初学SQL(2)
- sql扫盲(2)
- SQL基础知识(2)
- sql学习(2)
- 朝花夕拾(2)SQL
- SQL-(2)
- zcmu-1932
- python报错:TypeError: data type not understood
- Banner 内存 磁盘 缓存
- 针对config.properties的配置文件读取的工具类
- Oracle学习笔记 -- day02 本机连接虚拟机(远程机)中的oracle设置
- SQL必知必会(2) 2~6课
- 360内核切换
- spring配置文件中util:properties和context:property-placeholder
- 蓝桥杯:01字串【水题】
- 3人3鬼过河问题
- [Robot OS]ROS机器人探索群资料列表(不定期更新)
- TabLayout
- 关于拼凑面额的动态规划算法
- opencv3学习之霍夫变换