码迷,mamicode.com
首页 > 其他好文 > 详细

利用select检索数据

时间:2017-10-23 18:23:38      阅读:207      评论:0      收藏:0      [点我收藏+]

标签:海尔   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 通信设备

 

利用select检索数据

标签:海尔   alt   es2017   表达   比较操作符   有关   size   获取   where   

原文地址:http://www.cnblogs.com/wxw7blog/p/7717274.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!