加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 站长学院 > MySql教程 > 正文

单表查询

发布时间:2020-12-12 00:02:57 所属栏目:MySql教程 来源:网络整理
导读:在进行查询操作之前,先让我们建一个表,来方便执行后面的查询操作 创建表 span style="color: #0000ff;"create span style="color: #0000ff;"table span style="color: #000000;" employee( id span style="color: #0000ff;"int span style="color: #808080

在进行查询操作之前,先让我们建一个表,来方便执行后面的查询操作

创建表

<span style="color: #0000ff;">create <span style="color: #0000ff;">table<span style="color: #000000;"> employee(
id <span style="color: #0000ff;">int <span style="color: #808080;">not <span style="color: #0000ff;">null <span style="color: #0000ff;">unique<span style="color: #000000;"> auto_increment,name <span style="color: #0000ff;">varchar(<span style="color: #800000; font-weight: bold;">20) <span style="color: #808080;">not <span style="color: #0000ff;">null<span style="color: #000000;">,sex enum(<span style="color: #ff0000;">'<span style="color: #ff0000;">male<span style="color: #ff0000;">',<span style="color: #ff0000;">'<span style="color: #ff0000;">female<span style="color: #ff0000;">') <span style="color: #808080;">not <span style="color: #0000ff;">null <span style="color: #0000ff;">default <span style="color: #ff0000;">'<span style="color: #ff0000;">male<span style="color: #ff0000;">'<span style="color: #000000;">,#大部分是男的
age <span style="color: #0000ff;">int(<span style="color: #800000; font-weight: bold;">3) unsigned <span style="color: #808080;">not <span style="color: #0000ff;">null <span style="color: #0000ff;">default <span style="color: #800000; font-weight: bold;">28<span style="color: #000000;">,hire_date date <span style="color: #808080;">not <span style="color: #0000ff;">null<span style="color: #000000;">,post <span style="color: #0000ff;">varchar(<span style="color: #800000; font-weight: bold;">50<span style="color: #000000;">),post_comment <span style="color: #0000ff;">varchar(<span style="color: #800000; font-weight: bold;">100<span style="color: #000000;">),salary <span style="color: #0000ff;">double(<span style="color: #800000; font-weight: bold;">15,<span style="color: #800000; font-weight: bold;">2<span style="color: #000000;">),office <span style="color: #0000ff;">int<span style="color: #000000;">,#一个部门一个屋子
depart_id <span style="color: #0000ff;">int<span style="color: #000000;">
);

查看表结构

mysql<span style="color: #808080;">> <span style="color: #0000ff;">desc<span style="color: #000000;"> employee;
<span style="color: #808080;">+<span style="color: #008080;">--<span style="color: #008080;">------------+-----------------------+------+-----+---------+----------------+
<span style="color: #808080;">| Field <span style="color: #808080;">| Type <span style="color: #808080;">| <span style="color: #0000ff;">Null <span style="color: #808080;">| <span style="color: #0000ff;">Key <span style="color: #808080;">| <span style="color: #0000ff;">Default <span style="color: #808080;">| Extra <span style="color: #808080;">|
<span style="color: #808080;">+<span style="color: #008080;">--<span style="color: #008080;">------------+-----------------------+------+-----+---------+----------------+
<span style="color: #808080;">| id <span style="color: #808080;">| <span style="color: #0000ff;">int(<span style="color: #800000; font-weight: bold;">11) <span style="color: #808080;">| NO <span style="color: #808080;">| PRI <span style="color: #808080;">| <span style="color: #0000ff;">NULL <span style="color: #808080;">| auto_increment <span style="color: #808080;">|
<span style="color: #808080;">| name <span style="color: #808080;">| <span style="color: #0000ff;">varchar(<span style="color: #800000; font-weight: bold;">20) <span style="color: #808080;">| NO <span style="color: #808080;">| <span style="color: #808080;">| <span style="color: #0000ff;">NULL <span style="color: #808080;">| <span style="color: #808080;">|
<span style="color: #808080;">| sex <span style="color: #808080;">| enum(<span style="color: #ff0000;">'<span style="color: #ff0000;">male<span style="color: #ff0000;">',<span style="color: #ff0000;">'<span style="color: #ff0000;">female<span style="color: #ff0000;">') <span style="color: #808080;">| NO <span style="color: #808080;">| <span style="color: #808080;">| male <span style="color: #808080;">| <span style="color: #808080;">|
<span style="color: #808080;">| age <span style="color: #808080;">| <span style="color: #0000ff;">int(<span style="color: #800000; font-weight: bold;">3) unsigned <span style="color: #808080;">| NO <span style="color: #808080;">| <span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">28 <span style="color: #808080;">| <span style="color: #808080;">|
<span style="color: #808080;">| hire_date <span style="color: #808080;">| date <span style="color: #808080;">| NO <span style="color: #808080;">| <span style="color: #808080;">| <span style="color: #0000ff;">NULL <span style="color: #808080;">| <span style="color: #808080;">|
<span style="color: #808080;">| post <span style="color: #808080;">| <span style="color: #0000ff;">varchar(<span style="color: #800000; font-weight: bold;">50) <span style="color: #808080;">| YES <span style="color: #808080;">| <span style="color: #808080;">| <span style="color: #0000ff;">NULL <span style="color: #808080;">| <span style="color: #808080;">|
<span style="color: #808080;">| post_comment <span style="color: #808080;">| <span style="color: #0000ff;">varchar(<span style="color: #800000; font-weight: bold;">100) <span style="color: #808080;">| YES <span style="color: #808080;">| <span style="color: #808080;">| <span style="color: #0000ff;">NULL <span style="color: #808080;">| <span style="color: #808080;">|
<span style="color: #808080;">| salary <span style="color: #808080;">| <span style="color: #0000ff;">double(<span style="color: #800000; font-weight: bold;">15,<span style="color: #800000; font-weight: bold;">2) <span style="color: #808080;">| YES <span style="color: #808080;">| <span style="color: #808080;">| <span style="color: #0000ff;">NULL <span style="color: #808080;">| <span style="color: #808080;">|
<span style="color: #808080;">| office <span style="color: #808080;">| <span style="color: #0000ff;">int(<span style="color: #800000; font-weight: bold;">11) <span style="color: #808080;">| YES <span style="color: #808080;">| <span style="color: #808080;">| <span style="color: #0000ff;">NULL <span style="color: #808080;">| <span style="color: #808080;">|
<span style="color: #808080;">| depart_id <span style="color: #808080;">| <span style="color: #0000ff;">int(<span style="color: #800000; font-weight: bold;">11) <span style="color: #808080;">| YES <span style="color: #808080;">| <span style="color: #808080;">| <span style="color: #0000ff;">NULL <span style="color: #808080;">| <span style="color: #808080;">|
<span style="color: #808080;">+<span style="color: #008080;">--<span style="color: #008080;">------------+-----------------------+------+-----+---------+----------------+
<span style="color: #000000;">

插入记录

三个部门:教学,销售,运营

<span style="color: #0000ff;">insert <span style="color: #0000ff;">into employee(name,sex,age,hire_date,post,salary,office,depart_id) <span style="color: #0000ff;">values<span style="color: #000000;">
(<span style="color: #ff0000;">'<span style="color: #ff0000;">egon<span style="color: #ff0000;">',<span style="color: #ff0000;">'<span style="color: #ff0000;">male<span style="color: #ff0000;">',<span style="color: #800000; font-weight: bold;">18,<span style="color: #ff0000;">'<span style="color: #ff0000;">20170301<span style="color: #ff0000;">',<span style="color: #ff0000;">'<span style="color: #ff0000;">老男孩驻沙河办事处外交大使<span style="color: #ff0000;">',<span style="color: #800000; font-weight: bold;">7300.33,<span style="color: #800000; font-weight: bold;">401,<span style="color: #800000; font-weight: bold;">1<span style="color: #000000;">),#以下是教学部
(<span style="color: #ff0000;">'<span style="color: #ff0000;">alex<span style="color: #ff0000;">',<span style="color: #800000; font-weight: bold;">78,<span style="color: #ff0000;">'<span style="color: #ff0000;">20150302<span style="color: #ff0000;">',<span style="color: #ff0000;">'<span style="color: #ff0000;">teacher<span style="color: #ff0000;">',<span style="color: #800000; font-weight: bold;">1000000.31,(<span style="color: #ff0000;">'<span style="color: #ff0000;">wupeiqi<span style="color: #ff0000;">',<span style="color: #800000; font-weight: bold;">81,<span style="color: #ff0000;">'<span style="color: #ff0000;">20130305<span style="color: #ff0000;">',<span style="color: #800000; font-weight: bold;">8300,(<span style="color: #ff0000;">'<span style="color: #ff0000;">yuanhao<span style="color: #ff0000;">',<span style="color: #800000; font-weight: bold;">73,<span style="color: #ff0000;">'<span style="color: #ff0000;">20140701<span style="color: #ff0000;">',<span style="color: #800000; font-weight: bold;">3500,(<span style="color: #ff0000;">'<span style="color: #ff0000;">liwenzhou<span style="color: #ff0000;">',<span style="color: #800000; font-weight: bold;">28,<span style="color: #ff0000;">'<span style="color: #ff0000;">20121101<span style="color: #ff0000;">',<span style="color: #800000; font-weight: bold;">2100,(<span style="color: #ff0000;">'<span style="color: #ff0000;">jingliyang<span style="color: #ff0000;">',<span style="color: #ff0000;">'<span style="color: #ff0000;">female<span style="color: #ff0000;">',<span style="color: #ff0000;">'<span style="color: #ff0000;">20110211<span style="color: #ff0000;">',<span style="color: #800000; font-weight: bold;">9000,(<span style="color: #ff0000;">'<span style="color: #ff0000;">jinxin<span style="color: #ff0000;">',<span style="color: #ff0000;">'<span style="color: #ff0000;">19000301<span style="color: #ff0000;">',<span style="color: #800000; font-weight: bold;">30000,(<span style="color: #ff0000;">'<span style="color: #ff0000;">成龙<span style="color: #ff0000;">',<span style="color: #800000; font-weight: bold;">48,<span style="color: #ff0000;">'<span style="color: #ff0000;">20101111<span style="color: #ff0000;">',<span style="color: #800000; font-weight: bold;">10000,(<span style="color: #ff0000;">'<span style="color: #ff0000;">歪歪<span style="color: #ff0000;">',<span style="color: #ff0000;">'<span style="color: #ff0000;">20150311<span style="color: #ff0000;">',<span style="color: #ff0000;">'<span style="color: #ff0000;">sale<span style="color: #ff0000;">',<span style="color: #800000; font-weight: bold;">3000.13,<span style="color: #800000; font-weight: bold;">402,#以下是销售部门
(<span style="color: #ff0000;">'<span style="color: #ff0000;">丫丫<span style="color: #ff0000;">',<span style="color: #800000; font-weight: bold;">38,<span style="color: #ff0000;">'<span style="color: #ff0000;">20101101<span style="color: #ff0000;">',<span style="color: #800000; font-weight: bold;">2000.35,(<span style="color: #ff0000;">'<span style="color: #ff0000;">丁丁<span style="color: #ff0000;">',<span style="color: #ff0000;">'<span style="color: #ff0000;">20110312<span style="color: #ff0000;">',<span style="color: #800000; font-weight: bold;">1000.37,(<span style="color: #ff0000;">'<span style="color: #ff0000;">星星<span style="color: #ff0000;">',<span style="color: #ff0000;">'<span style="color: #ff0000;">20160513<span style="color: #ff0000;">',<span style="color: #800000; font-weight: bold;">3000.29,(<span style="color: #ff0000;">'<span style="color: #ff0000;">格格<span style="color: #ff0000;">',<span style="color: #ff0000;">'<span style="color: #ff0000;">20170127<span style="color: #ff0000;">',<span style="color: #800000; font-weight: bold;">4000.33,(<span style="color: #ff0000;">'<span style="color: #ff0000;">张野<span style="color: #ff0000;">',<span style="color: #ff0000;">'<span style="color: #ff0000;">20160311<span style="color: #ff0000;">',<span style="color: #ff0000;">'<span style="color: #ff0000;">operation<span style="color: #ff0000;">',<span style="color: #800000; font-weight: bold;">10000.13,<span style="color: #800000; font-weight: bold;">403,<span style="color: #800000; font-weight: bold;">3<span style="color: #000000;">),#以下是运营部门
(<span style="color: #ff0000;">'<span style="color: #ff0000;">程咬金<span style="color: #ff0000;">',<span style="color: #ff0000;">'<span style="color: #ff0000;">19970312<span style="color: #ff0000;">',<span style="color: #800000; font-weight: bold;">20000,(<span style="color: #ff0000;">'<span style="color: #ff0000;">程咬银<span style="color: #ff0000;">',<span style="color: #ff0000;">'<span style="color: #ff0000;">20130311<span style="color: #ff0000;">',<span style="color: #800000; font-weight: bold;">19000,(<span style="color: #ff0000;">'<span style="color: #ff0000;">程咬铜<span style="color: #ff0000;">',<span style="color: #ff0000;">'<span style="color: #ff0000;">20150411<span style="color: #ff0000;">',<span style="color: #800000; font-weight: bold;">18000,(<span style="color: #ff0000;">'<span style="color: #ff0000;">程咬铁<span style="color: #ff0000;">',<span style="color: #ff0000;">'<span style="color: #ff0000;">20140512<span style="color: #ff0000;">',<span style="color: #800000; font-weight: bold;">17000,<span style="color: #800000; font-weight: bold;">3<span style="color: #000000;">)
;

一 查询语法

字段1,字段2... 表名 条件 字段 筛选 字段 limit 限制条数

二 关键字的执行优先级

<div class="cnblogs_code">

 字段1,字段2...  表名  约束条件   字段  过滤条件   字段 limit 限制条数

上面这个查询语句的执行顺序如下:

1:先执行from,从硬盘中读取找到表

2:如果有where,则再通过where后面的约束条件,去文件/表中取出一条条数据(没有where则是取出表中的所有数据)

3:where执行完后,如果有group by,则将取出来的数据按group by后面的字段名分组,如果没有group by则默认将第二步中的数据分为一组

4:按照select后的字段得到一张新的虚拟表,如果有聚合函数,则将组内数据进行聚合,

5:再进一步通过having后面的条件过滤数据(如果有having的话)

6:查出结果 select

7:去重distinct

8.将结果按条件排序:order by

9.限制结果的显示条数

详细过程:请点击此处

三 简单查询

</span><span style="color: #0000ff;"&gt;select</span> <span style="color: #808080;"&gt;*</span> <span style="color: #0000ff;"&gt;from</span><span style="color: #000000;"&gt; employee; </span><span style="color: #0000ff;"&gt;select</span> name,salary <span style="color: #0000ff;"&gt;from</span><span style="color: #000000;"&gt; employee;

避免重复(去重) distinct

</span><span style="color: #0000ff;"&gt;select</span> <span style="color: #0000ff;"&gt;distinct</span> post <span style="color: #0000ff;"&gt;from</span><span style="color: #000000;"&gt; employee;    

通过四则运算查询

</span><span style="color: #0000ff;"&gt;select</span> name as 名字,salary<span style="color: #808080;"&gt;*</span><span style="color: #800000; font-weight: bold;"&gt;12</span> as 年薪 <span style="color: #0000ff;"&gt;from</span><span style="color: #000000;"&gt; employee;    #在字段名后面as新名称,可以重新定义其在表中的名字,也可以省略as直接写新名字
</span><span style="color: #0000ff;"&gt;select</span> name,salary<span style="color: #808080;"&gt;*</span><span style="color: #800000; font-weight: bold;"&gt;12</span> <span style="color: #0000ff;"&gt;as</span> Annual_salary <span style="color: #0000ff;"&gt;from</span><span style="color: #000000;"&gt; employee;
</span><span style="color: #0000ff;"&gt;select</span> name,salary<span style="color: #808080;"&gt;*</span><span style="color: #800000; font-weight: bold;"&gt;12</span> Annual_salary <span style="color: #0000ff;"&gt;from</span><span style="color: #000000;"&gt; employee;

定义显示格式

CONCAT() 函数用于连接字符串
<span style="color: #0000ff;">select CONCAT(<span style="color: #ff0000;">'<span style="color: #ff0000;">姓名: <span style="color: #ff0000;">',<span style="color: #ff0000;">'<span style="color: #ff0000;"> 年薪: <span style="color: #ff0000;">',salary<span style="color: #808080;">*<span style="color: #800000; font-weight: bold;">12) <span style="color: #0000ff;">as<span style="color: #000000;"> Annual_salary <span style="color: #0000ff;">from<span style="color: #000000;"> employee;

CONCAT_WS() 第一个参数为分隔符
<span style="color: #0000ff;">select CONCAT_WS(<span style="color: #ff0000;">'<span style="color: #ff0000;">:<span style="color: #ff0000;">',salary<span style="color: #808080;">*<span style="color: #800000; font-weight: bold;">12) <span style="color: #0000ff;">as<span style="color: #000000;"> Annual_salary <span style="color: #0000ff;">from employee;

四 where约束

强调:where是一种约束条件,mysql会拿着where指定的条件去表中取数据,而having则是在取出数据后进行过滤

where字句中可以使用:

1. 比较运算符:> < >= <= <> !=
2. between 80 and 100 值在80到100之间
3. in(80,90,100) 值是80或90或100
4. like 'egon%'
pattern可以是%或_,
%表示任意多字符
_表示一个字符
5. 逻辑运算符:在多个条件直接可以使用逻辑运算符 and or not

# name employee post<span style="color: #800000; font-weight: bold;">2<span style="color: #000000;">:多条件查询
</span><span style="color: #0000ff;"&gt;select</span> name,salary <span style="color: #0000ff;"&gt;from</span> employee <span style="color: #0000ff;"&gt;where</span> post<span style="color: #808080;"&gt;=</span><span style="color: #ff0000;"&gt;'</span><span style="color: #ff0000;"&gt;teacher</span><span style="color: #ff0000;"&gt;'</span> <span style="color: #808080;"&gt;and</span> salary<span style="color: #808080;"&gt;></span><span style="color: #800000; font-weight: bold;"&gt;10000</span><span style="color: #000000;"&gt;;

<span style="color: #800000; font-weight: bold;">3:关键字BETWEEN <span style="color: #808080;">AND

<span style="color: #0000ff;"&gt;select</span> name,salary <span style="color: #0000ff;"&gt;from</span> employee  <span style="color: #0000ff;"&gt;where</span> salary <span style="color: #808080;"&gt;between</span> <span style="color: #800000; font-weight: bold;"&gt;10000</span> <span style="color: #808080;"&gt;and</span> <span style="color: #800000; font-weight: bold;"&gt;20000</span>;    #<span style="color: #800000; font-weight: bold;"&gt;10000</span>&le;结果&le;<span style="color: #800000; font-weight: bold;"&gt;20000</span>

<span style="color: #0000ff;"&gt;select</span> name,salary <span style="color: #0000ff;"&gt;from</span> employee  <span style="color: #0000ff;"&gt;where</span> salary <span style="color: #808080;"&gt;not</span> <span style="color: #808080;"&gt;between</span> <span style="color: #800000; font-weight: bold;"&gt;10000</span> <span style="color: #808080;"&gt;and</span> <span style="color: #800000; font-weight: bold;"&gt;20000</span>;    # 结果&le;<span style="color: #800000; font-weight: bold;"&gt;10000</span>,结果&ge;<span style="color: #800000; font-weight: bold;"&gt;20000</span><span style="color: #000000;"&gt;

<span style="color: #800000; font-weight: bold;">4:关键字IS <span style="color: #0000ff;">NULL<span style="color: #000000;">(判断某个字段是否为空不能用等号,需要用IS)

</span><span style="color: #0000ff;"&gt;select</span> name,post_comment <span style="color: #0000ff;"&gt;from</span> employee   <span style="color: #0000ff;"&gt;where</span> post_comment <span style="color: #0000ff;"&gt;is</span> <span style="color: #0000ff;"&gt;null</span><span style="color: #000000;"&gt;;

</span><span style="color: #0000ff;"&gt;select</span> name,post_comment <span style="color: #0000ff;"&gt;from</span> employee  <span style="color: #0000ff;"&gt;where</span> post_comment <span style="color: #0000ff;"&gt;is</span> <span style="color: #808080;"&gt;not</span> <span style="color: #0000ff;"&gt;null</span><span style="color: #000000;"&gt;;

</span><span style="color: #0000ff;"&gt;select</span> name,post_comment <span style="color: #0000ff;"&gt;from</span> employee   <span style="color: #0000ff;"&gt;where</span> post_comment<span style="color: #808080;"&gt;=</span><span style="color: #ff0000;"&gt;''</span>; 注意<span style="color: #ff0000;"&gt;''</span><span style="color: #000000;"&gt;是空字符串,不是null
ps:
    执行
    </span><span style="color: #0000ff;"&gt;update</span> employee <span style="color: #0000ff;"&gt;set</span> post_comment<span style="color: #808080;"&gt;=</span><span style="color: #ff0000;"&gt;''</span> <span style="color: #0000ff;"&gt;where</span> id<span style="color: #808080;"&gt;=</span><span style="color: #800000; font-weight: bold;"&gt;2</span><span style="color: #000000;"&gt;;
    再用上条查看,就会有结果了

<span style="color: #800000; font-weight: bold;">5<span style="color: #000000;">:关键字IN集合查询

</span><span style="color: #0000ff;"&gt;select</span> name,salary <span style="color: #0000ff;"&gt;from</span><span style="color: #000000;"&gt; employee 
    </span><span style="color: #0000ff;"&gt;where</span> salary<span style="color: #808080;"&gt;=</span><span style="color: #800000; font-weight: bold;"&gt;3000</span> <span style="color: #808080;"&gt;or</span> salary<span style="color: #808080;"&gt;=</span><span style="color: #800000; font-weight: bold;"&gt;3500</span> <span style="color: #808080;"&gt;or</span> salary<span style="color: #808080;"&gt;=</span><span style="color: #800000; font-weight: bold;"&gt;4000</span> <span style="color: #808080;"&gt;or</span> salary<span style="color: #808080;"&gt;=</span><span style="color: #800000; font-weight: bold;"&gt;9000</span><span style="color: #000000;"&gt; ;

</span><span style="color: #0000ff;"&gt;select</span> name,salary <span style="color: #0000ff;"&gt;from</span><span style="color: #000000;"&gt; employee 
    </span><span style="color: #0000ff;"&gt;where</span> salary <span style="color: #808080;"&gt;in</span> (<span style="color: #800000; font-weight: bold;"&gt;3000</span>,<span style="color: #800000; font-weight: bold;"&gt;4000</span>,<span style="color: #800000; font-weight: bold;"&gt;9000</span><span style="color: #000000;"&gt;) ;

</span><span style="color: #0000ff;"&gt;select</span> name,salary <span style="color: #0000ff;"&gt;from</span><span style="color: #000000;"&gt; employee 
    </span><span style="color: #0000ff;"&gt;where</span> salary <span style="color: #808080;"&gt;not</span> <span style="color: #808080;"&gt;in</span> (<span style="color: #800000; font-weight: bold;"&gt;3000</span>,<span style="color: #800000; font-weight: bold;"&gt;9000</span><span style="color: #000000;"&gt;) ;

<span style="color: #800000; font-weight: bold;">6<span style="color: #000000;">:关键字LIKE模糊查询

通配符&rsquo;</span><span style="color: #808080;"&gt;%</span><span style="color: #000000;"&gt;&rsquo;
</span><span style="color: #0000ff;"&gt;select</span> <span style="color: #808080;"&gt;*</span> <span style="color: #0000ff;"&gt;from</span><span style="color: #000000;"&gt; employee 
        </span><span style="color: #0000ff;"&gt;where</span> name <span style="color: #808080;"&gt;like</span> <span style="color: #ff0000;"&gt;'</span><span style="color: #ff0000;"&gt;eg%</span><span style="color: #ff0000;"&gt;'</span><span style="color: #000000;"&gt;;  #匹配name为eg开头的数据

</span><span style="color: #0000ff;"&gt;select</span> <span style="color: #808080;"&gt;*</span> <span style="color: #0000ff;"&gt;from</span><span style="color: #000000;"&gt; employee 
        </span><span style="color: #0000ff;"&gt;where</span> name <span style="color: #808080;"&gt;like</span> <span style="color: #ff0000;"&gt;'</span><span style="color: #ff0000;"&gt;%e%</span><span style="color: #ff0000;"&gt;'</span><span style="color: #000000;"&gt;;  #匹配name中含有e的数据

通配符&rsquo;_&rsquo;
</span><span style="color: #0000ff;"&gt;select</span> <span style="color: #808080;"&gt;*</span> <span style="color: #0000ff;"&gt;from</span><span style="color: #000000;"&gt; employee 
        </span><span style="color: #0000ff;"&gt;where</span> name <span style="color: #808080;"&gt;like</span> <span style="color: #ff0000;"&gt;'</span><span style="color: #ff0000;"&gt;al__</span><span style="color: #ff0000;"&gt;'</span>;  #匹配name为al开头,且为长度为4个字符的数据</pre>

五 分组查询:GROUP BY

post employee <span style="color: #0000ff;">group<span style="color: #000000;"> by关键字和GROUP_CONCAT()函数一起使用
<span style="color: #0000ff;">select
post,GROUP_CONCAT(name) <span style="color: #0000ff;">from
employee <span style="color: #0000ff;">group
<span style="color: #0000ff;">by
<span style="color: #000000;"> post;#按照岗位分组,并查看组内成员名
<span style="color: #0000ff;">select
post,GROUP_CONCAT(name) <span style="color: #0000ff;">as
emp_members <span style="color: #0000ff;">from
employee <span style="color: #0000ff;">group
<span style="color: #0000ff;">by
<span style="color: #000000;"> post;

<span style="color: #0000ff;">group<span style="color: #000000;"> by与聚合函数一起使用
<span style="color: #0000ff;">select post,<span style="color: #ff00ff;">COUNT(id) <span style="color: #0000ff;">as <span style="color: #ff00ff;">COUNT <span style="color: #0000ff;">from employee <span style="color: #0000ff;">group <span style="color: #0000ff;">by post;#按照岗位分组,并查看每个组有多少人

强调:

#参考链接:http:www.ywnds.com?p id, tt (): Expression # list clause nonaggregated which functionally dependent columns clause; this incompatible sql_mode查看MySQL <span style="color: #800000; font-weight: bold;">5<span style="color: #000000;">.7默认的sql_mode如下:

mysql<span style="color: #808080;">> <span style="color: #0000ff;">select <span style="color: #008000; font-weight: bold;">@@global<span style="color: #000000;">.sql_mode;
ONLY_FULL_GROUP_BY,STRICT_TRANS_TABLES,NO_ZERO_IN_DATE,NO_ZERO_DATE,ERROR_FOR_DIVISION_BY_ZERO,NO_AUTO_CREATE_USER,NO_ENGINE_SUBSTITUTION

去掉ONLY_FULL_GROUP_BY模式,如下操作:

mysql<span style="color: #808080;">> <span style="color: #0000ff;">set global sql_mode<span style="color: #808080;">=<span style="color: #ff0000;">'<span style="color: #ff0000;">STRICT_TRANS_TABLES,NO_ENGINE_SUBSTITUTION<span style="color: #ff0000;">'<span style="color: #000000;">;

!!!注意

ONLY_FULL_GROUP_BY的语义就是确定select target list中的所有列的值都是明确语义,简单的说来,在ONLY_FULL_GROUP_BY模式下,target list中的值要么是来自于聚集函数的结果,要么是来自于group <span style="color: #0000ff;">by list中的表达式的值。

<div class="cnblogs_code" onclick="cnblogs_code_show('6b0324a8-e84b-45b5-983f-bdda70d89aa8')">


<div id="cnblogs_code_open_6b0324a8-e84b-45b5-983f-bdda70d89aa8" class="cnblogs_code_hide">

1234567. 查询男员工与男员工的平均薪资,女员工与女员工的平均薪资

mysql> select post,group_concat(name) +-----------------------------------------+---------------------------------------------------------+ | post | group_concat(name) | +-----------------------------------------+---------------------------------------------------------+ | operation | 张野,程咬金,程咬银,程咬铜,程咬铁 | | sale | 歪歪,丫丫,丁丁,星星,格格 | | teacher | alex,wupeiqi,yuanhao,liwenzhou,jingliyang,jinxin,成龙 | | 老男孩驻沙河办事处外交大使 | egon | +-----------------------------------------+---------------------------------------------------------+

<span style="color: #008000;">#<span style="color: #008000;">题目2:
mysql> select post,count(id) <span style="color: #0000ff;">from<span style="color: #000000;"> employee group by post;
+-----------------------------------------+-----------+
| post | count(id) |
+-----------------------------------------+-----------+
| operation | 5 |
| sale | 5 |
| teacher | 7 |
| 老男孩驻沙河办事处外交大使 | 1 |
+-----------------------------------------+-----------+

<span style="color: #008000;">#<span style="color: #008000;">题目3:
mysql> select sex,count(id) <span style="color: #0000ff;">from<span style="color: #000000;"> employee group by sex;
+--------+-----------+
| sex | count(id) |
+--------+-----------+
| male | 10 |
| female | 8 |
+--------+-----------+

<span style="color: #008000;">#<span style="color: #008000;">题目4:
mysql> select post,avg(salary) <span style="color: #0000ff;">from<span style="color: #000000;"> employee group by post;
+-----------------------------------------+---------------+
| post | avg(salary) |
+-----------------------------------------+---------------+
| operation | 16800.026000 |
| sale | 2600.294000 |
| teacher | 151842.901429 |
| 老男孩驻沙河办事处外交大使 | 7300.330000 |
+-----------------------------------------+---------------+

<span style="color: #008000;">#<span style="color: #008000;">题目5
mysql> select post,max(salary) <span style="color: #0000ff;">from<span style="color: #000000;"> employee group by post;
+-----------------------------------------+-------------+
| post | max(salary) |
+-----------------------------------------+-------------+
| operation | 20000.00 |
| sale | 4000.33 |
| teacher | 1000000.31 |
| 老男孩驻沙河办事处外交大使 | 7300.33 |
+-----------------------------------------+-------------+

<span style="color: #008000;">#<span style="color: #008000;">题目6
mysql> select post,min(salary) <span style="color: #0000ff;">from<span style="color: #000000;"> employee group by post;
+-----------------------------------------+-------------+
| post | min(salary) |
+-----------------------------------------+-------------+
| operation | 10000.13 |
| sale | 1000.37 |
| teacher | 2100.00 |
| 老男孩驻沙河办事处外交大使 | 7300.33 |
+-----------------------------------------+-------------+

<span style="color: #008000;">#<span style="color: #008000;">题目七
mysql> select sex,avg(salary) <span style="color: #0000ff;">from<span style="color: #000000;"> employee group by sex;
+--------+---------------+
| sex | avg(salary) |
+--------+---------------+
| male | 110920.077000 |
| female | 7250.183750 |
+--------+---------------+

六 使用聚合函数查询

先from找到表

再用where的条件约束去表中取出记录

然后进行分组group by,没有分组则默认一组

然后进行聚合

最后select出结果

**) FROM employee WHERE depart_id=1=3;

七 HAVING过滤

HAVING与WHERE在语法上是一样的

employee salary employee salary ;

HAVING与WHERE不一样的地方在于!!!!!!

group by > 聚合函数 > having select count(id) employee where salary > 10000; select count(id) employee having salary > 10000;10000的过滤

<span style="color: #008000;">#<span style="color: #008000;">以上两条sql的顺序是
1:找到表employee--->用where过滤---->没有分组则默认一组执行聚合count(id)---><span style="color: #000000;">select执行查看组内id数目
2:找到表employee--->没有分组则默认一组执行聚合count(id)---->having 基于上一步聚合的结果(此时只有count(id)字段了)进行salary>10000的过滤,很明显,根本无法获取到salary字段

验证不同之处

#验证之前再次强调:执行优先级从高到低: 聚合函数 (id) employee salary (id) employee salary ;#错误,分析:先执行聚合count(id),后执行having过滤,无法对id进行salary以上两条sql的顺序是

<span style="color: #800000; font-weight: bold;">1:找到表employee<span style="color: #008080;">--<span style="color: #008080;">->用where过滤---->没有分组则默认一组执行聚合count(id)--->select执行查看组内id数目
<span style="color: #800000; font-weight: bold;">2:找到表employee<span style="color: #008080;">--<span style="color: #008080;">->没有分组则默认一组执行聚合count(id)---->having 基于上一步聚合的结果(此时只有count(id)字段了)进行salary>10000的过滤,很明显,根本无法获取到salary字段

其他需要注意的问题

post,group_concat(name) employee post salary post,group_concat(name) employee post (salary) ;

<div class="cnblogs_code" onclick="cnblogs_code_show('1b9be7c9-12e4-4a73-910a-bc874b924d32')">


<div id="cnblogs_code_open_1b9be7c9-12e4-4a73-910a-bc874b924d32" class="cnblogs_code_hide">

. 查询各岗位平均薪资大于10000且小于20000的岗位名、平均工资

post,group_concat(name),(id) employee post (id) post group_concat(name) (id) teacher egon post,(salary) employee post (salary) post (salary) operation teacher post,(salary) employee post (salary) (salary) post (salary) operation

八 查询排序:ORDER BY

employee employee salary employee salary 按多列排序:先按照age排序,如果年纪相同,则按照薪资排序
<span style="color: #0000ff;">SELECT
<span style="color: #808080;">*
<span style="color: #0000ff;">from
<span style="color: #000000;"> employee
<span style="color: #0000ff;">ORDER
<span style="color: #0000ff;">BY
<span style="color: #000000;"> age,salary
<span style="color: #0000ff;">DESC
;

. 查询各岗位平均薪资大于10000的岗位名、平均工资,结果按平均薪资降序排列

employee age ,hire_date 题目2

mysql<span style="color: #808080;">> <span style="color: #0000ff;">select post,<span style="color: #ff00ff;">avg(salary) <span style="color: #0000ff;">from employee <span style="color: #0000ff;">group <span style="color: #0000ff;">by post <span style="color: #0000ff;">having <span style="color: #ff00ff;">avg(salary) <span style="color: #808080;">> <span style="color: #800000; font-weight: bold;">10000 <span style="color: #0000ff;">order <span style="color: #0000ff;">by <span style="color: #ff00ff;">avg(salary) <span style="color: #0000ff;">asc<span style="color: #000000;">;
<span style="color: #808080;">+<span style="color: #008080;">--<span style="color: #008080;">---------+---------------+
<span style="color: #808080;">| post <span style="color: #808080;">| <span style="color: #ff00ff;">avg(salary) <span style="color: #808080;">|
<span style="color: #808080;">+<span style="color: #008080;">--<span style="color: #008080;">---------+---------------+
<span style="color: #808080;">| operation <span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">16800.026000 <span style="color: #808080;">|
<span style="color: #808080;">| teacher <span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">151842.901429 <span style="color: #808080;">|
<span style="color: #808080;">+<span style="color: #008080;">--<span style="color: #008080;">---------+---------------+
<span style="color: #000000;">

题目3

mysql<span style="color: #808080;">> <span style="color: #0000ff;">select post,<span style="color: #ff00ff;">avg(salary) <span style="color: #0000ff;">from employee <span style="color: #0000ff;">group <span style="color: #0000ff;">by post <span style="color: #0000ff;">having <span style="color: #ff00ff;">avg(salary) <span style="color: #808080;">> <span style="color: #800000; font-weight: bold;">10000 <span style="color: #0000ff;">order <span style="color: #0000ff;">by <span style="color: #ff00ff;">avg(salary) <span style="color: #0000ff;">desc<span style="color: #000000;">;
<span style="color: #808080;">+<span style="color: #008080;">--<span style="color: #008080;">---------+---------------+
<span style="color: #808080;">| post <span style="color: #808080;">| <span style="color: #ff00ff;">avg(salary) <span style="color: #808080;">|
<span style="color: #808080;">+<span style="color: #008080;">--<span style="color: #008080;">---------+---------------+
<span style="color: #808080;">| teacher <span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">151842.901429 <span style="color: #808080;">|
<span style="color: #808080;">| operation <span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">16800.026000 <span style="color: #808080;">|
<span style="color: #808080;">+<span style="color: #008080;">--<span style="color: #008080;">---------+---------------+

九 限制查询的记录数:LIMIT

employee salary </span><span style="color: #0000ff;"&gt;SELECT</span> <span style="color: #808080;"&gt;*</span> <span style="color: #0000ff;"&gt;FROM</span> employee <span style="color: #0000ff;"&gt;ORDER</span> <span style="color: #0000ff;"&gt;BY</span> salary <span style="color: #0000ff;"&gt;DESC</span><span style="color: #000000;"&gt; LIMIT </span><span style="color: #800000; font-weight: bold;"&gt;0</span>,<span style="color: #800000; font-weight: bold;"&gt;5</span><span style="color: #000000;"&gt;; #从第0开始,即先查询出第一条,然后包含这一条在内往后查5条 </span><span style="color: #0000ff;"&gt;SELECT</span> <span style="color: #808080;"&gt;*</span> <span style="color: #0000ff;"&gt;FROM</span> employee <span style="color: #0000ff;"&gt;ORDER</span> <span style="color: #0000ff;"&gt;BY</span> salary <span style="color: #0000ff;"&gt;DESC</span><span style="color: #000000;"&gt; LIMIT </span><span style="color: #800000; font-weight: bold;"&gt;5</span>,<span style="color: #800000; font-weight: bold;"&gt;5</span>; #从第5开始,即先查询出第6条,然后包含这一条在内往后查5条</pre>

mysql<span style="color: #808080;">> <span style="color: #0000ff;">select
<span style="color: #808080;">*
<span style="color: #0000ff;">from
employee limit <span style="color: #800000; font-weight: bold;">0
,<span style="color: #800000; font-weight: bold;">5
<span style="color: #000000;">;
<span style="color: #808080;">+
<span style="color: #008080;">--
<span style="color: #008080;">--+-----------+------+-----+------------+-----------------------------------------+--------------+------------+--------+-----------+

<span style="color: #808080;">|
id <span style="color: #808080;">|
name <span style="color: #808080;">|
sex <span style="color: #808080;">|
age <span style="color: #808080;">|
hire_date <span style="color: #808080;">|
post <span style="color: #808080;">|
post_comment <span style="color: #808080;">|
salary <span style="color: #808080;">|
office <span style="color: #808080;">|
depart_id <span style="color: #808080;">|

<span style="color: #808080;">+
<span style="color: #008080;">--
<span style="color: #008080;">--+-----------+------+-----+------------+-----------------------------------------+--------------+------------+--------+-----------+

<span style="color: #808080;">|
<span style="color: #800000; font-weight: bold;">1
<span style="color: #808080;">|
egon <span style="color: #808080;">|
male <span style="color: #808080;">|
<span style="color: #800000; font-weight: bold;">18
<span style="color: #808080;">|
<span style="color: #800000; font-weight: bold;">2017
<span style="color: #808080;">-
<span style="color: #800000; font-weight: bold;">03
<span style="color: #808080;">-
<span style="color: #800000; font-weight: bold;">01
<span style="color: #808080;">|
老男孩驻沙河办事处外交大使 <span style="color: #808080;">|
<span style="color: #0000ff;">NULL
<span style="color: #808080;">|
<span style="color: #800000; font-weight: bold;">7300.33
<span style="color: #808080;">|
<span style="color: #800000; font-weight: bold;">401
<span style="color: #808080;">|
<span style="color: #800000; font-weight: bold;">1
<span style="color: #808080;">|

<span style="color: #808080;">|
<span style="color: #800000; font-weight: bold;">2
<span style="color: #808080;">|
alex <span style="color: #808080;">|
male <span style="color: #808080;">|
<span style="color: #800000; font-weight: bold;">78
<span style="color: #808080;">|
<span style="color: #800000; font-weight: bold;">2015
<span style="color: #808080;">-
<span style="color: #800000; font-weight: bold;">03
<span style="color: #808080;">-
<span style="color: #800000; font-weight: bold;">02
<span style="color: #808080;">|
teacher <span style="color: #808080;">|
<span style="color: #808080;">|
<span style="color: #800000; font-weight: bold;">1000000.31
<span style="color: #808080;">|
<span style="color: #800000; font-weight: bold;">401
<span style="color: #808080;">|
<span style="color: #800000; font-weight: bold;">1
<span style="color: #808080;">|

<span style="color: #808080;">|
<span style="color: #800000; font-weight: bold;">3
<span style="color: #808080;">|
wupeiqi <span style="color: #808080;">|
male <span style="color: #808080;">|
<span style="color: #800000; font-weight: bold;">81
<span style="color: #808080;">|
<span style="color: #800000; font-weight: bold;">2013
<span style="color: #808080;">-
<span style="color: #800000; font-weight: bold;">03
<span style="color: #808080;">-
<span style="color: #800000; font-weight: bold;">05
<span style="color: #808080;">|
teacher <span style="color: #808080;">|
<span style="color: #0000ff;">NULL
<span style="color: #808080;">|
<span style="color: #800000; font-weight: bold;">8300.00
<span style="color: #808080;">|
<span style="color: #800000; font-weight: bold;">401
<span style="color: #808080;">|
<span style="color: #800000; font-weight: bold;">1
<span style="color: #808080;">|

<span style="color: #808080;">|
<span style="color: #800000; font-weight: bold;">4
<span style="color: #808080;">|
yuanhao <span style="color: #808080;">|
male <span style="color: #808080;">|
<span style="color: #800000; font-weight: bold;">73
<span style="color: #808080;">|
<span style="color: #800000; font-weight: bold;">2014
<span style="color: #808080;">-
<span style="color: #800000; font-weight: bold;">07
<span style="color: #808080;">-
<span style="color: #800000; font-weight: bold;">01
<span style="color: #808080;">|
teacher <span style="color: #808080;">|
<span style="color: #0000ff;">NULL
<span style="color: #808080;">|
<span style="color: #800000; font-weight: bold;">3500.00
<span style="color: #808080;">|
<span style="color: #800000; font-weight: bold;">401
<span style="color: #808080;">|
<span style="color: #800000; font-weight: bold;">1
<span style="color: #808080;">|

<span style="color: #808080;">|
<span style="color: #800000; font-weight: bold;">5
<span style="color: #808080;">|
liwenzhou <span style="color: #808080;">|
male <span style="color: #808080;">|
<span style="color: #800000; font-weight: bold;">28
<span style="color: #808080;">|
<span style="color: #800000; font-weight: bold;">2012
<span style="color: #808080;">-
<span style="color: #800000; font-weight: bold;">11
<span style="color: #808080;">-
<span style="color: #800000; font-weight: bold;">01
<span style="color: #808080;">|
teacher <span style="color: #808080;">|
<span style="color: #0000ff;">NULL
<span style="color: #808080;">|
<span style="color: #800000; font-weight: bold;">2100.00
<span style="color: #808080;">|
<span style="color: #800000; font-weight: bold;">401
<span style="color: #808080;">|
<span style="color: #800000; font-weight: bold;">1
<span style="color: #808080;">|

<span style="color: #808080;">+
<span style="color: #008080;">--
<span style="color: #008080;">--+-----------+------+-----+------------+-----------------------------------------+--------------+------------+--------+-----------+

<span style="color: #800000; font-weight: bold;">5
rows <span style="color: #808080;">in
<span style="color: #0000ff;">set
(<span style="color: #800000; font-weight: bold;">0.00
<span style="color: #000000;"> sec)

mysql<span style="color: #808080;">> <span style="color: #0000ff;">select <span style="color: #808080;">* <span style="color: #0000ff;">from employee limit <span style="color: #800000; font-weight: bold;">5,<span style="color: #800000; font-weight: bold;">5<span style="color: #000000;">;
<span style="color: #808080;">+<span style="color: #008080;">--<span style="color: #008080;">--+------------+--------+-----+------------+---------+--------------+----------+--------+-----------+
<span style="color: #808080;">| id <span style="color: #808080;">| name <span style="color: #808080;">| sex <span style="color: #808080;">| age <span style="color: #808080;">| hire_date <span style="color: #808080;">| post <span style="color: #808080;">| post_comment <span style="color: #808080;">| salary <span style="color: #808080;">| office <span style="color: #808080;">| depart_id <span style="color: #808080;">|
<span style="color: #808080;">+<span style="color: #008080;">--<span style="color: #008080;">--+------------+--------+-----+------------+---------+--------------+----------+--------+-----------+
<span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">6 <span style="color: #808080;">| jingliyang <span style="color: #808080;">| female <span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">18 <span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">2011<span style="color: #808080;">-<span style="color: #800000; font-weight: bold;">02<span style="color: #808080;">-<span style="color: #800000; font-weight: bold;">11 <span style="color: #808080;">| teacher <span style="color: #808080;">| <span style="color: #0000ff;">NULL <span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">9000.00 <span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">401 <span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">1 <span style="color: #808080;">|
<span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">7 <span style="color: #808080;">| jinxin <span style="color: #808080;">| male <span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">18 <span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">1900<span style="color: #808080;">-<span style="color: #800000; font-weight: bold;">03<span style="color: #808080;">-<span style="color: #800000; font-weight: bold;">01 <span style="color: #808080;">| teacher <span style="color: #808080;">| <span style="color: #0000ff;">NULL <span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">30000.00 <span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">401 <span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">1 <span style="color: #808080;">|
<span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">8 <span style="color: #808080;">| 成龙 <span style="color: #808080;">| male <span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">48 <span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">2010<span style="color: #808080;">-<span style="color: #800000; font-weight: bold;">11<span style="color: #808080;">-<span style="color: #800000; font-weight: bold;">11 <span style="color: #808080;">| teacher <span style="color: #808080;">| <span style="color: #0000ff;">NULL <span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">10000.00 <span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">401 <span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">1 <span style="color: #808080;">|
<span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">9 <span style="color: #808080;">| 歪歪 <span style="color: #808080;">| female <span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">48 <span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">2015<span style="color: #808080;">-<span style="color: #800000; font-weight: bold;">03<span style="color: #808080;">-<span style="color: #800000; font-weight: bold;">11 <span style="color: #808080;">| sale <span style="color: #808080;">| <span style="color: #0000ff;">NULL <span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">3000.13 <span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">402 <span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">2 <span style="color: #808080;">|
<span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">10 <span style="color: #808080;">| 丫丫 <span style="color: #808080;">| female <span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">38 <span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">2010<span style="color: #808080;">-<span style="color: #800000; font-weight: bold;">11<span style="color: #808080;">-<span style="color: #800000; font-weight: bold;">01 <span style="color: #808080;">| sale <span style="color: #808080;">| <span style="color: #0000ff;">NULL <span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">2000.35 <span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">402 <span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">2 <span style="color: #808080;">|
<span style="color: #808080;">+<span style="color: #008080;">--<span style="color: #008080;">--+------------+--------+-----+------------+---------+--------------+----------+--------+-----------+
<span style="color: #800000; font-weight: bold;">5 rows <span style="color: #808080;">in <span style="color: #0000ff;">set (<span style="color: #800000; font-weight: bold;">0.00<span style="color: #000000;"> sec)

mysql<span style="color: #808080;">> <span style="color: #0000ff;">select <span style="color: #808080;">* <span style="color: #0000ff;">from employee limit <span style="color: #800000; font-weight: bold;">10,<span style="color: #800000; font-weight: bold;">5<span style="color: #000000;">;
<span style="color: #808080;">+<span style="color: #008080;">--<span style="color: #008080;">--+-----------+--------+-----+------------+-----------+--------------+----------+--------+-----------+
<span style="color: #808080;">| id <span style="color: #808080;">| name <span style="color: #808080;">| sex <span style="color: #808080;">| age <span style="color: #808080;">| hire_date <span style="color: #808080;">| post <span style="color: #808080;">| post_comment <span style="color: #808080;">| salary <span style="color: #808080;">| office <span style="color: #808080;">| depart_id <span style="color: #808080;">|
<span style="color: #808080;">+<span style="color: #008080;">--<span style="color: #008080;">--+-----------+--------+-----+------------+-----------+--------------+----------+--------+-----------+
<span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">11 <span style="color: #808080;">| 丁丁 <span style="color: #808080;">| female <span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">18 <span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">2011<span style="color: #808080;">-<span style="color: #800000; font-weight: bold;">03<span style="color: #808080;">-<span style="color: #800000; font-weight: bold;">12 <span style="color: #808080;">| sale <span style="color: #808080;">| <span style="color: #0000ff;">NULL <span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">1000.37 <span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">402 <span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">2 <span style="color: #808080;">|
<span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">12 <span style="color: #808080;">| 星星 <span style="color: #808080;">| female <span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">18 <span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">2016<span style="color: #808080;">-<span style="color: #800000; font-weight: bold;">05<span style="color: #808080;">-<span style="color: #800000; font-weight: bold;">13 <span style="color: #808080;">| sale <span style="color: #808080;">| <span style="color: #0000ff;">NULL <span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">3000.29 <span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">402 <span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">2 <span style="color: #808080;">|
<span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">13 <span style="color: #808080;">| 格格 <span style="color: #808080;">| female <span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">28 <span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">2017<span style="color: #808080;">-<span style="color: #800000; font-weight: bold;">01<span style="color: #808080;">-<span style="color: #800000; font-weight: bold;">27 <span style="color: #808080;">| sale <span style="color: #808080;">| <span style="color: #0000ff;">NULL <span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">4000.33 <span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">402 <span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">2 <span style="color: #808080;">|
<span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">14 <span style="color: #808080;">| 张野 <span style="color: #808080;">| male <span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">28 <span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">2016<span style="color: #808080;">-<span style="color: #800000; font-weight: bold;">03<span style="color: #808080;">-<span style="color: #800000; font-weight: bold;">11 <span style="color: #808080;">| operation <span style="color: #808080;">| <span style="color: #0000ff;">NULL <span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">10000.13 <span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">403 <span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">3 <span style="color: #808080;">|
<span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">15 <span style="color: #808080;">| 程咬金 <span style="color: #808080;">| male <span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">18 <span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">1997<span style="color: #808080;">-<span style="color: #800000; font-weight: bold;">03<span style="color: #808080;">-<span style="color: #800000; font-weight: bold;">12 <span style="color: #808080;">| operation <span style="color: #808080;">| <span style="color: #0000ff;">NULL <span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">20000.00 <span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">403 <span style="color: #808080;">| <span style="color: #800000; font-weight: bold;">3 <span style="color: #808080;">|
<span style="color: #808080;">+<span style="color: #008080;">--<span style="color: #008080;">--+-----------+--------+-----+------------+-----------+--------------+----------+--------+-----------+
<span style="color: #800000; font-weight: bold;">5 rows <span style="color: #808080;">in <span style="color: #0000ff;">set (<span style="color: #800000; font-weight: bold;">0.00 sec)

十 使用正则表达式查询

employee name REGEXP <span style="color: #0000ff;">SELECT <span style="color: #808080;">* <span style="color: #0000ff;">FROM employee <span style="color: #0000ff;">WHERE name REGEXP <span style="color: #ff0000;">'<span style="color: #ff0000;">on$<span style="color: #ff0000;">'<span style="color: #000000;">;

<span style="color: #0000ff;">SELECT <span style="color: #808080;">* <span style="color: #0000ff;">FROM employee <span style="color: #0000ff;">WHERE name REGEXP <span style="color: #ff0000;">'<span style="color: #ff0000;">m{2}<span style="color: #ff0000;">'<span style="color: #000000;">;

小结:对字符串匹配的方式
<span style="color: #0000ff;">WHERE name <span style="color: #808080;">= <span style="color: #ff0000;">'<span style="color: #ff0000;">egon<span style="color: #ff0000;">'<span style="color: #000000;">;
<span style="color: #0000ff;">WHERE name <span style="color: #808080;">LIKE <span style="color: #ff0000;">'<span style="color: #ff0000;">yua%<span style="color: #ff0000;">'<span style="color: #000000;">;
<span style="color: #0000ff;">WHERE name REGEXP <span style="color: #ff0000;">'<span style="color: #ff0000;">on$<span style="color: #ff0000;">';

<div class="cnblogs_code" onclick="cnblogs_code_show('b5f6011c-c2d4-41d7-bd56-bdc1df3d5894')">


<div id="cnblogs_code_open_b5f6011c-c2d4-41d7-bd56-bdc1df3d5894" class="cnblogs_code_hide">

<span style="color: #0000ff;">select <span style="color: #808080;"> <span style="color: #0000ff;">from employee <span style="color: #0000ff;">where name regexp <span style="color: #ff0000;">'<span style="color: #ff0000;">^jin.[gn]$<span style="color: #ff0000;">';

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读