首先创建两个表(用作测试):tb_student、tb_class

CREATE TABLE tb_class(
            cid INT PRIMARY KEY AUTO_INCREMENT,
            cname VARCHAR(20) NOT NULL
);

CREATE TABLE tb_student(
            sid INT PRIMARY KEY AUTO_INCREMENT,
            sname VARCHAR(20) NOT NULL,

gender CHAR(1),

age INT,
            cid INT,
            FOREIGN KEY(cid) REFERENCES tb_class(cid)
);

一.DQL基础查询

关键字:select from

1、查询学生表中所有的数据

SELECT * FROM tb_student WHERE gender='男';

2.查询所有年龄在18到20岁的学生信息

SELECT * FROM tb_student WHERE age>=18 AND age<=20;

或者

SELECT   *      FROM   tb_student   WHERE age BETWEEN    18    AND   20;

3.查询出所有没有录入年龄的学生的信息

SELECT   *    FROM   tb_student    WHERE   age   IS   NULL;

模糊查询关键字:like

 通配符:

%: 代表任意个字符

_:代表一个字符

1.查询所有姓王的学生信息

SELECT    *    FROM    tb_student    WHERE  sname    LIKE  '王%';

2.查询所有名字第二个字是杰的学生信息

SELECT    *    FROM    tb_student    WHERE    sname   LIKE   '_杰%';

3.查询名字中有明的学生信息

SELECT     *   FROM   tb_student    WHERE      sname     LIKE   '%明%';

二.DQL排序

排序关键字:order by

升序:默认/asc

降序:desc

1、查询所有学生的信息,要求按照学生的年龄从小到大的显示

SELECT   *   FROM   tb_student    ORDER   BY  age  (ASC);

2.  查询所有学生的信息,要求按照学生的年龄从大到小的显示

SELECT   *   FROM  tb_student    ORDER   BY  age   DESC;

3.查询年龄最大的三个学生信息

SELECT   *    FROM   tb_student   ORDER  BY   age  DESC  LIMIT  3;

前几个:limit    3;

函数:

聚合函数

主要对数据进行统计计算,返回单个值。

最大值:max()

最小值:min()

求和:sum()

数据条数:count()

平均值:avg()

1.查询学生平均年龄

SELECT   AVG (age)  FROM   tb_student;

三.DQL分组查询

         

将表数据按照指定条件进行分组,再对分组后的数据进行汇总。分组查询通常会使用聚合函数,对分组后的数据进行统计计算。

关键字:group by [having]

语法:select 要查询的内容 from 表名 group by 分组列 [having 筛选条件];

1、查询出每个班的学生人数

分析:cid相同的学生是同班同学,所以以cid来进行分组。统计每个组的数据条数。

SELECT   cid,COUNT(*)   FROM   tb_student    GROUP  BY   cid;

having和where的区别:

1、having是对分组后的数据进行筛选,where是对分组前的数据进行筛选

2、SQL语句中有having必定有group by,有group by不一定having

3、如果一个SQL语句中,既有where又有having,先执行where后执行having

4、where后面不能使用聚合函数,having只能使用聚合函数和分组列

四.DQL分页查询

        

关键字:limit

用法:

limit n:代表前n条数据

limit m,n:代表从第m条数据开始取n条数据,m是数据的索引

1、查询出学生表前三条数据

SELECT  *   FROM   tb_student   LIMIT   3;

2、如果每页显示3条数据,请查询出第二页的数据

SELECT   *   FROM   tb_student  LIMIT  3,3;

分页:现有条件,每页显示条数count,第几页page

计算:

page:1 2 3 4 5 ……

m: 0 3 6 9 12 ……

m = (page-1)*count

五.DQL连接查询

        

定义:通过连接条件同时查询出多张表的数据。

隐式内链接:把连接条件放到where关键字后面。

语法:select 要查询的内容 from 表1,表2 where 连接条件 [and 筛选条件];

显式内连接:使用inner join来连接,将连接条件放到on后面。

语法:select 要查询的内容 from 表1 inner join 表2 on 连接条件 [where 筛选条件];

外连接

两张表中一张表作为基表,查询出该表所有的数据,另外一张表作为连接表,查询出该表与基表能够匹配的数据。如果基表数据匹配不上,就用null来填充。

语法:select 要查询的内容 from 基表 left join 连接表 on 连接条件 [where 筛选条件];

右外连接:

语法:select 要查询的内容 from 连接表 right join 基表 on 连接条件 [where 筛选条件];

六.子查询

当一个查询的结果是另一个查询需要的条件时,就需要使用子查询。

例如:

查询出年龄比张三大的学生的信息

方式一:

SELECT   age  FROM   tb_student   WHERE  age >(SELECT   age  FROM  tb_student  WHERE  sname='张三' );

方式二:

SELECT  age  FROM   tb_student   WHERE  age>ANY(SELECT  age  FROM  tb_student  WHERE  sname='张三');

数据库查询语句总结(全网最详细,用的是MySQL和SQLyog)相关推荐

  1. oracle查询100到200数据,100分数据库查询语句(ORACLE 11g)

    100分求一个数据库查询语句(ORACLE 11g) 一张表tabl1 如下: epqname             createtime                             e ...

  2. excel文档查询服务器,excel服务器数据库查询语句

    excel服务器数据库查询语句 内容精选 换一换 华为云帮助中心,为用户提供产品简介.价格说明.购买指南.用户指南.API参考.最佳实践.常见问题.视频帮助等技术文档,帮助您快速上手使用华为云服务. ...

  3. DQL:数据库查询语句

    目录 ​ 一.常用DQL语句:数据库查询语句 1.最基本的通用查询:查询全表数据 2.查询指定列 3.通过起别名进行查询 1)对列起别名 AS可以省略 ​2)对表起别名(表的名字比较长),同时给列起别 ...

  4. 【ThinkPHP】ThinkPHP5 常用数据库查询语句

    来源:我的博客站 OceanicKang |<[ThinkPHP]ThinkPHP5 常用数据库查询语句> tp_data 数据表 id name status 3 thinkphp 1 ...

  5. 小程序云开发数据库查询语句之doc与where||如何查询到不符合条件的结果

    小程序云开发数据库查询语句之doc与where||如何查询到不符合条件的结果 一只孤独的菜鸟 最近在云开发时遇到的查询语句, where和doc,在官方文档上是这样的 db.collection('t ...

  6. C# 数据库查询语句1

    C# 数据库查询语句1 作者:陈钰桃 撰写时间:2022年3月27日 第1节. 查询数据 数据库表是存储数据库中所有数据的对象. 在表中,数据按行和列格式逻辑组织,类似于电子表格(Excel).在表中 ...

  7. 数据库查询语句SQL中like、%、-的区别

    数据库查询语句SQL中like.%.-的区别 数据库查询语句SQL中like.%.-的区别 %百分号通配符:表示任何字符出现任意次数(可以是0次) SQL 语句选取 name 以字母 "k& ...

  8. 数据库查询语句 -- HAVING的用法

    数据库查询语句 HAVING的用法 HAVING语句通常与GROUP BY子句及聚集函数COUNT,AVG,SUM,MAX,MIN语句联合使用,用来过滤由GROUP BY语句返回的记录集,通常跟在GR ...

  9. mysql的查询语句大全_sql语句(sql数据库查询语句大全)

    sql语句 结构化查询语言(StructuredQueryLanguage)缩写为SQL.结构化查询语言是一种数据库查询和编程语言,用于访问数据以及查询,更新和管理关系数据库系统: 程序功能 创建数据 ...

最新文章

  1. 【WinCE】SD card技术了解并WINCE下SDHC驱动开发(updated)
  2. Effective C++学习第六天
  3. mysql导出表数据
  4. NGINX访问日志和错误日志
  5. html添加变量参数吗,动态CSS与变量参数? (可能吗?)
  6. win7修复计算机 正常启动不了怎么办,Win7系统无法正常启动怎么办
  7. QQ桌球瞄准器开发(1)桌球瞄准器介绍与使用方法
  8. 联想笔记本怎么重装系统?联想笔记本一键重装
  9. openharmony开发TS语言基础
  10. java 通用权限管理_通用权限管理设计篇(一)
  11. Win10打包tar.gz文件,Win10使用tar命令,Win10使用linux基本命令
  12. android APP开发时,全屏手机适配的问题解决
  13. 记录:微信小程序Switch样式调整
  14. 毕业设计-基于DGA 恶意域名的检测算法
  15. 找出耗电大户进行消灭 电池持久有绝招——下载加速吧
  16. prism InvokeCommandAction
  17. Windows cmd命令 个人常用0529
  18. BB10 读取NFC tag
  19. [leetcode 10-4] 三、分割数组最多方案(双周赛第四题)
  20. cordova电池插件

热门文章

  1. mysql重启数据库实例命令_各个平台的mysql重启命令
  2. Angry Birds专用平板Wopad V7+,深圳造
  3. 钉钉发布防疫通,助力春节返乡健康管理
  4. 达观数据智能问答技术研究
  5. python统计文件行数与字数_Python实现统计文本文件字数的方法
  6. Mininet教程(一):Mininet基本介绍
  7. Mininet教程(二):Mininet安装部署
  8. Aionは当て推量をします:泳いでいって現実的な寂しさを仮想していますと
  9. Java基础——Arrays类
  10. router.onError