标签:海尔 alt es2017 表达 比较操作符 有关 size 获取 where
没错这就是DQL,数据查询语言。来看看怎么用。
select语句按照复杂程度来说分为简单查询、where查询、多表查询、子查询等。
先来看看select的语法
1.select 2.[distince|all] //描述列表字段中的数据是否去除重复记录 3. select_list 需要查询的字段列表,也可以说是占位符。可以是一个字段,也可以多个字段 4.from table_list 5.[where_clause] //查询条件 6.[group_by_clause] // group by子句部分 7.[having condition]//havint子句部分 8.[order_by_clause]//排序
方便研究,先来创建一个表pro。
productid | productname | productprice | quantity | category | origin |
1 | 夏普 | 1000 | 22 | 1 | 日本 |
2 | 海尔 | 2000 | 33 | 2 | 中国 |
3 | 三星 | 3000 | 44 | 3 | 韩国 |
4 | 华为 | 4000 | 55 | 4 | 中国 |
1.简单查询
简单查询用到上面查询语句的前四行。
1.获取productname 和 origin的数据
2.获取所有字段的数据
3.使用别名替代表中的字段名。 指定别名可以使用as关键字。
4.使用表达式操作查询的字段
可以针对某个列使用表达式,这样查询出来的结果就是修改后的数据,但是数据库表里面的数据不会改变
不用的时候
那么想要让他都变成1.25倍呢?可以使用
这里面 || 是用来连接字符串的。
5.使用函数操作查询的数据
查询过程中允许检索的列使用函数对其操作,如果仅仅是查询,那么更多的是利用函数对数据进行类型转换。
利用函数 subStr,对字符串进行截取。
截取前两位字符串。
6.去除检索数据中的重复记录
使用distince(column_name)来去重复数据
2.检索出来的数据排序
1.使用升序或者降序排序
按照productname进行排序,先来看看未排序之前默认是升序的
按照升序,关键字是desc
按照降序,关键字是asc
2.排序时对null值进行处理
修改一下表
productid | productname | productprice | quantity | category | origin |
1 | 夏普 | 1000 | 22 | 1 | 日本 |
2 | 海尔 | 2000 | 33 | 2 | 中国 |
3 | 三星 | 3000 | 44 | 韩国 | |
4 | 华为 | 4000 | 55 | 4 | 中国 |
对于null值来说默认排序的时候是最大的。
但是我们可以指定null值在前面还是后面
3.使用别名作为排序字段
4.使用表达式作为排序字段
5.使用字段的位置作为排序字段
排序时允许使用查询列表中字段的位置来作为排序字段
6.使用多个字段排序
也就是说当第一个字段都一样时,再用第二个,依次类推。
3.where子句设置检索条件
where条件子句中可以使用的操作符主要有关系操作符、比较操作符和逻辑操作符
关系操作符:< 、 <= 、 > 、 >=、 =、!=、<>
比较操作符:
is null:如果操作数为Null返回true
like:模糊比较字符串值
between...and...验证值是否在范围之内
in:验证操作数在设定的一系列值中
逻辑操作符
and:且
or:或
not:取反
1.查询中使用单一条件限制
主要针对关系操作符来说,也可以使用函数
2.查询中使用多个条件限制
3.模糊查询数据
模糊查询使用like,它和两个通配符一起使用,才能使用模糊查询的功能,用这两个通配符可以替代模糊的地方
_:代替一个字符
%:代替多个字符
4.查找条件限制在某个列表范围内
5.专门针对null值得查询
4.group by 和 having的使用
用于组的查询,使用分组查询可以统计数据。
1.根据某一个字段分组查询
2.根据多个字段分组
3.having用来限制组的搜索条件
5.使用子查询
什么时候要使用子查询呢
catagoryid | catagoryname |
1 | 电脑 |
2 | 冰箱 |
3 | 手机 |
4 | 通信设备 |
标签:海尔 alt es2017 表达 比较操作符 有关 size 获取 where
原文地址:http://www.cnblogs.com/wxw7blog/p/7717274.html