一.基本查询语句

1.1从单个表中查询列

语法:select 查询的列1,查询的列2  from 表名  where 条件 group by 分组条件  order by 排序条件  having  查询满足的第二条件 limit 输出的行数

例子:

select tid from text1  group by(tday) order by tid asc ;

1.2从多个表中查询列

使用“.”将表中的列和表分割开来,语法如下:

select 表1.列....,表2.列.....  from  表1,表2;

select text1.tid ,text2.tid from text1 ,text2 ;

二.单表查询

2.1使用符号   *   来查询所有的字段

2.2使用IN关键字:select  列名   from 表名 (not) in (值1,值2);表示只要符合值1或者值2即可。

2.3使用 between   A  and  B : select  列名 from 表名 where 列名 (not) between A  and  B;

2.4模糊查询 使用like:   %匹配符   _占位符 : select  列名 from 表名 where 列名 like "张%_";

2.5:is null 检查字段是否为空

2.6使用 and / or来达到多条件查询目的

2.7使用关键字distinct来去除重复操作  :select distinct 列名 from 表......

2.9使用order by来排序: select  列名 from 表名 order by asc升序/desc降序

2.10使用group by来分组,group_concat(列名):select group_concat(列名) from 表名 group by 列名;

2.11使用limit n 限制查询结果的数量为n

三.聚合函数

聚合函数就是将一组值计算后只计算出一个值。

3.1.计数函数:count()

3.2.求和函数:sum()

3.3.平均函数:avg()

3.4.最大、最小函数max()、min()

四.链接查询

 4.1内链接查询

内链接要求两个表拥有相同的字段,这样才能进行查询。结果集也是只包括符合两个字段相同的结果。

例子如下:

表text3

表text1

可以看出两个表有共同的项:tid。

内链接查询语句:

select tnum1,tname from text1,text3 where text1.tid=text3.tid;

结果:

4.2外查询

 外查询的结果集不仅包括符合链接条件的行数据,还包括了左表,右表中的数据。

 语法:select 字段名 from 表名1  left | right jioin 表名2  on  表名1.列名1=表名.列名2;

 左外链接:

 left  on   首先将两张表合并,不仅返回符合连接条件的数据还返回左表中的不符合条件的数据,并在右表相应的字段添加null

例子:

select tnum1,tname from text1  left join text3 on text1.tid=text3.tid; 

右外连接只需要将left改为right即可。

五.子查询

子查询就是在一个查询语句里在嵌套一个查询。子查询从内部执行到外部,需要括号进行分开。

5.1使用带in的子查询,当子查询返回的是一个组合时,那么就必须使用in来表示。

select tid from text1 where tid in (select tid from text3);

5.2使用关键字exists来返回是否查询到了一个值,如果有则为true反之为false。如果返回的是true则将执行前面的查询部分。

select tid from text1 where exists(select tnum1 from text1 where tid=2);

5.3使用any和all的查询,any表示只要符合any()查询语句中的任何一个值就会执行外层语句,而all表示只有符合子查询所有的结果才能执行外部语句。

select tid from text1 where tnum1>any(select tnum1 from text2 where tid >3);
select tid from text1 where tnum1>all(select tnum1 from text2 where tid >3);

6.合并查询结果

使用union和union all来合并查询结果。

语法:select语句  union | all select语句

union合并后去除重复,二union all 是不去除重复

 

MySQL的查询语句的更多相关文章

  1. 23个MySQL常用查询语句

    23个MySQL常用查询语句 一查询数值型数据: SELECT * FROM tb_name WHERE sum > 100; 查询谓词:>,=,<,<>,!=,!> ...

  2. MySQL 表查询语句练习题

    MySQL 表查询语句练习题: 一.  设有一数据库,包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher).四个表的结构分别如表1-1的表 ...

  3. MYSQL——解题查询语句答题思路,再难的查询都不怕!

    select查询语句,作为测试人员,使用此语句是家常便饭,是必须掌握的部分,由开始学习mysql到网上搜索试题做,开始做题一塌糊涂,拿到题目就晕,无从下手,现在慢慢总结了一套自己做题的方式,很开森,嘿 ...

  4. mysql—常用查询语句总结

    关于MySQL常用的查询语句 一查询数值型数据: ; 查询谓词:>,=,<,<>,!=,!>,!<,=>,=< 二查询字符串 SELECT * FROM ...

  5. MySQL慢查询语句的定位

    使用以下语句可以查询相关的配置和日志所在位置: show variables like '%slow%'; 名词解释: log_slow_admin_statements: 打开后可以将一些比较慢的管 ...

  6. Mysql的查询语句(联合查询、连接查询、子查询等)

    Mysql的各个查询语句(联合查询.连接查询.子查询等) 一.联合查询 关键字:union 语法形式 select语句1 union[union选项] select 语句2 union[union选项 ...

  7. Mysql的查询语句的使用

    1. 简单查询 查询所有字段: SELECT * FROM 表名 查询特定字段: SELECT 字段列表 FROM 表名 2. 查询显示行号 - 在字段列表中加入(@rownum := @rownum ...

  8. mysql命令查询语句&MTdata

    1.单表查询 select * from student; 采用*效率低,不推荐,多用列名 一.单表查询的语法: SELECT 字段1,字段2... FROM 表名 WHERE 条件 GROUP BY ...

  9. mysql中查询语句中的一个知识点说明

    1, 简单说明. select * from tb_name where 1[不为零即可];则会显示所有记录,select * from tb_name where 0;则不显示任何记录 假设数据库中 ...

  10. MySQL简单查询语句练习

    数据查询语法(DQL) DQL就是数据查询语言,数据库执行DQL语句不会对数据进行改变,而是让数据库发送结果集给客户端. 语法: SELECT selection_list /*要查询的列名称*/ F ...

随机推荐

  1. 利用NPOI解析Excel的通用类

    using System.Collections.Generic; using System.Data; using System.IO; using System.Linq; using NPOI. ...

  2. C++三大特性 封装 继承 多态

    C++ 三大特性 封装,继承,多态 封装 定义:封装就是将抽象得到的数据和行为相结合,形成一个有机的整体,也就是将数据与操作数据的源代码进行有机的结合,形成类,其中数据和函数都是类的成员,目的在于将对 ...

  3. 记一次搭建vsftp服务器坑

    避免踩坑,特此记录... yum -y install vsftpd useradd -d /www -s /sbin/nologin sui # 修改vsftpd配置文件/etc/vsftpd/vs ...

  4. Spring @Scheduled @Async联合实现调度任务(2017.11.28更新)

    定时任务之前一直用的是quartz之类,但是注意到Spring中其实也提供了一种简单的调度注释@Scheduled,也就想尝一下鲜.. 代码示意如下: @Component @EnableSchedu ...

  5. MATLAB统计工具箱 转

    D:\Program Files\MATLAB\R2012b\toolbox\stats\stats MATLAB统计工具箱包括概率分布.方差分析.假设检验.分布检验.非参数检验.回归分析.判别分析. ...

  6. 逆袭之旅DAY30.XIA.集合

    2018年7月26日 面试题:List和set的区别 ArrayList 遍历效率较高,但添加和删除较慢 遍历集合最高效的方法:迭代器 集合的遍历: 迭代器:Iterator 创建 为什么使用泛型: ...

  7. Uboot USB模式(RK3288变砖头的解决办法)

    RK3288启动后有三种模式,可以分别进行操作. 第一种是normal也就是正常的启动模式.这个模式无法刷固件.一般板子通电就是这个模式 第二种是loader模式.就是刷固件模式.这个模式可以刷各种i ...

  8. log4j的log4j.properties文件配置的详细介绍

    参考(common): http://blog.csdn.net/qq_30175203/article/details/52084127 参考2(log4j.additivity): http:// ...

  9. python 爬虫之 selenium API

    一.浏览器操作 1.浏览器最大化 driver.maximize_window() #将浏览器最大化显示 2.设置浏览器宽.高 driver.set_window_size(480, 800)#设置浏 ...

  10. 深入理解java虚拟机---虚拟机工具jhat(十六)

    jhat JVM Heap Analysis Tool命令是与jmap搭配使用,用来分析jmap生成的dump,jhat内置了一个微型的HTTP/HTML服务器,生成dump的分析结果后,可以在浏览器 ...