mysql的数据查询
来源:互联网 发布:小学生绘画软件 编辑:程序博客网 时间:2024/05/21 22:36
- 基本查询
- 单表查询
- 聚合函数查询
- 连接查询
- 子查询
- 正则表达式查询
- 将查询结果合并
- 为字段和表取别名
基本查询
基本构成:
select子句 //要查询的内容选择哪些列;如:select */selcet username from子句 //指定数据表,写表名;如:from userwhere子句 //查询时行必须满足的条件;如:where id=3group by子句 //对结果进行分组;如:group by sexorder by 子句//对结果进行排序;如:order by datehaving子句 //查询时满足的第二条件limit 子句 //限定输出的查询结果;如:limit 3就显示3条数据
单表查询
- select * from 表名,查询表中的所有字段
- select 字段名 from 表名;如果查询多个字段,用‘,’分割
带in关键字的查询,in关键字可以判断某个字段的值是否在指定的集合中,如果字段的值在集合中,就被查询出来,否则不满足查询条件,语法如下:
select *from '表名' where 条件 [not] in(元素1,元素2,···,元素n)
带between and的范围查询,可以查询在这个范围内的内容,其语法如下:
select *from 表名 where 条件 [not] between 取值1 and 取值2
如果取值是1和3,则查出[1,3]的数- like的字符匹配查询:有%和_
- 用is null查询空值
- 带and的多条件查询
- 带or的多条件查询,注意一个特例,如果是 条件一 and 条件二 or 条件三 则查出一和二的交集和三的并集;如果是 条件一 or 条件二 and 条件三 则是(条件一)或(条件二和条件三的交集)
- 用distinct关键字去除结果中的重复行
- 用order by对查询结果排序,注意:默认是升序asc,降序是desc
- 用group by分组查询,在查询时,所查询的列必须包含在分组的列种,目的是使查询到的数据没有矛盾。
1.单独使用group by关键字,查询结果只显示每组的一条记录
2.可以与group_concat()函数一起使用,可以将每个组中的所有字段值都显示出来
3.按多个字段分组 - 可以用limit关键字限制查询结果的数量
聚合函数查询
COUNT()对于*以外的任何参数,如1,返回所选集合中非null值的行的数目;对于*,返回选择集合中的所有行的数目,包括null值的行,没有where的子句的count(*)是经过优化的,能够快速地返回表中所有的记录总数 </br>SUM()可以求出表中某个字段取值的总和 </br> AVG()可以求出表中某个字段取值的平均值MAX()可以求出表中某个字段取值的最大值MIN()可以求出表中某个字段取值的最小值
连接查询
- 内连接查询,如:where user.uid=orders.uid
- 外连接查询(一般不用,会查出一些无用的null值),用outer join关键字将两个表连接起来
1.左外连接:将左表中的所有数据分别与右表中的每条数据进行连接组合,返回的数据除内连接的数据外,还包含左表中不符合条件的数据,并在右表的相应列种添加null值
2.右外连接:类似左外,将右边的保留,连左边的
3.注:如果是select *from 表一 left/right join 表二on···,则表一的字段会在前面 - 复合条件查询,就是将上面的查询综合
)
子查询
1一般的语法例子: select *from user where uid in(select uid from orders)
而且,子查询还可以带比较运算符
,但是相对于连接查询可能会慢,因为他是从最内层的查询开始,然后从它开始向外向上移动到外层查询。
2子查询还可以带exists关键字
语法: select *from user where uid exists(select uid from orders where oid=1)
此时内层查询语句不返回查询的记录,而是返回一个真假值,当返回真时,外层查询语句就进行查询
3带any关键字的子查询,表示满足其中的任意一个条件
4带all关键字的子查询,表示满足其中的所有条件
正则表达式查询
就是使用字段名 regexp ‘匹配方式’
来进行查询,更加灵活强大
将查询结果合并
使用union和union all来合并
为字段和表取别名
更加方便,快捷
0 0
- mysql的数据查询
- mysql查询当天的数据
- MySql查询多个表的数据
- mysql查询今天的数据
- mysql查询前一天的数据
- MySQL查询昨天的数据
- MYsql 查询 查询当前月份的数据
- mysql查询一天,查询一周,查询一个月的数据
- mysql查询一天,查询一周,查询一个月的数据
- mysql查询一天,查询一周,查询一个月的数据
- MYsql 查询 查询当前月份的数据(时间 查询)
- mysql查询一天,查询一周,查询一个月的数据
- mysql查询一天,查询一周,查询一个月的数据
- MYsql 查询 查询当前月份的数据(时间 查询)
- MYsql 查询 查询当前月份的数据(时间 查询)
- mysql查询一天,查询一周,查询一个月的数据
- mysql查询一天,查询一周,查询一个月的数据
- 查询MYSQL中今天加入的数据
- spring&hibernate(01-简单构建)
- CSS设置html table表格边框样式
- web开发之需求分析
- 成都信息工程大学教学平台无法上传文件
- 将某个类的构造器设置为private的两种访问方式
- mysql的数据查询
- Java中方法的参数改变情况
- 算法编译与调试
- sublime text3破解安装详细过程
- unix系统之系统调用的封装
- Oracle SQL性能优化
- Hadoop(二)-MapReduce
- c++ map详解
- 201个核心Java面试汇总