mysql简单查询语句


前言

mysql有一系列的创建和使用语句,当然也少不了查询语句,看mysql学的怎么样,就是看他的查询语句写的怎么样。那么我将带着你们了解一下简单查询语句。


一.什么是查询语句?

查询语句就是将数据库中的数据通过某种手段调取出来的一种方法。

二、简单查询语句

1.where条件下的查询语句

A. 简单查询:

select * from 表名      // 代表着调用该表所有信息

select 字段名 as 名 from 表名  // 代表着将某一字段调用并且将字段名改为‘名’;如下:

 

B.精确查询:

select * from 表名 where 字段名='值';    //该语句查询的是字段名为该‘值’时的所有信息,如下:

 C.模糊条件查询:

select * from表名 where 字段名 like '%xxx%';  //该字段查询的是某个字段名含有xxx的信息;

 D.范围查询:

select *from 表名 where 字段名 between ~ and ~;//查询某个范围内的数据;

E.离散查询:

select *from 表名 where 字段名 in ( 值,值) // 查询字段名为括号里的值时的所有数据,如果括号里没有则不查询。

F.去重查询:

select distinct(字段名) from 表名; //查询该字段所有数据,并去除重复,如下:

G.统计查询(聚合函数):

 a.count()

select count(*) from 表名     //查询该表有多少条数据

b.sum()

select sum(字段名) from 表名   // 统计该字段所有数据之和

c.max()

select max(字段名) from 表名  //该数据最大值

d.avg()

select avg(字段名) from 表名 //计算该字段的平均值

e.min() 同上max一样。

以上五个聚合函数后当然也可以接where语句进行限制。


2.group by 分组查询:

a.作用:把行按字段分组。

b.语法:group by 列1,列2~~~列n。

select 字段名,count(*) from employee froup by 字段名

c.适用场合:常用于统计场合,一般和聚合函数连用。如下:


3.having 条件查询:

a.作用:对查询的结果进行筛选。

b.语法:having 条件 或 having 聚合函数条件

c.适合场景:一般跟在group by 后

select 字段名,count(*) from 表名 group by 字段名 having 条件   如下:

 


4.order by 排序查询:

a.作用:对查询结果进行排序

b.语法:order by 字段1,字段2~~~字段n

c.使用场景: 一般用在查询结果的排序

order by 字段名 desc  降序排序

order by 字段名 (asc)    升序排列(即默认的排序方法,可加可不加)

以上的查询方法前后一般顺序:where --- group by --- having --- order by


5.limit  限制查询:

a.作用:对查询结果起到了限制条数作用

b.语法:limit n,m  n:代表起始条值数 ,不写默认为0    m:代表取出条数

c.适用场合:数据量过多 可以起到限制作用

select * from 表名 limit n,m;


6.exists型子查询:

exists型字查询后面是有一个受限的select查询语句;

exists 子查询 如果exists跟后面的内层查询能够查出数据,则返回TRUE,否则返回FALSE

select *from 表名 a where exists(select 字段名 from 表名2 where 条件);

[select 字段名 from 表名2 where 条件] 该语句如果可以查出语句则返回TRUE,也就代表前一个查询可以执行 ,否则不能执行;


7.左(右)连接查询:

a.左连接 ,右连接 都是外连接 

b.左连接关键字:left join 表名 on 条件 /  left outer 表名 join on 条件

  右连接关键字:right join 表名 on 条件 / right outer 表名 join on 条件

c.左连接:左表的记录会全部表示出来 而右表只会显示符合条件的记录,右标有不足的地方为null

   右连接与左连接相反。

   select 左表字段名,右表字段名 from 左表 left join 右表 on 条件;如下:

 


8.内连接和联合查询:

A. 内连接:获取两个字段匹配关系的记录。

     主要语法:inner join 表名 on 条件。

select 字段名 from 表名1 inner join 表名2 on 条件;

B.联合查询:将多个查询语句的查询结果结合在一起

a.语法1:~~~union~~~~(去重)

   语法2:~~~union all ~~~~(不去重)

b.两个select语句的查询结果'字段数'必须一致

c.应该让两个查询语句的字段类型一致

d.也可查询更多查询结果

e.用到order by 排序时,需要对union两边用括号括起来


总结

本次是对mysql简单查询语句的总结,我也是一个初学者,也许会有错误的地方还请各位大神多多指点,小辈也只是想借用此次机会巩固也许