一、select

查询2*7的值:

SELECT2 * 7;

查询2*7的值并用res进行命名:

SELECT2 * 7 AS res;

二、from

CREATE TABLE t1(id INT,name VARCHAR(20));
CREATE TABLE t2(score1 INT(20),score2 INT(20));
INSERT INTO t1 VALUES ( 1, 'frank' )( 2, 'jerry' );
INSERT INTO t2 VALUES ( 98, 98 )( 933, 91 );

笛卡儿积:

SELECT * FROM t1,t2;

三、dual

dual是一个默认的伪表

SELECT2 * 7 AS res;
SELECT2 * 7 AS res
FROMDUAL;
SELECT2 * 7
FROMDUAL;

四 、where

查出年龄大于30岁的教师:

SELECT*
FROMteacher
WHEREage > 30;

查出家庭地址在shanghai或者beijing的数据:

SELECT*
FROMteacher
WHEREaddress = 'shanghai' OR address = 'beijing';

五、in

用in查询地址在shanghai和beijing的数据:

SELECT*
FROMteacher
WHEREaddress IN ( 'shanghai','beijing' );

用not in查询地址不在shanghai和beijing的数据:

SELECT*
FROMteacher
WHEREaddress NOT IN ( 'shanghai','beijing' );

六、between and

创建一个表:

查询年龄在15到20岁之间的数据:

SELECT*
FROMt3
WHEREage > 15 AND age < 20;

利用between and的另一种查询方式:

SELECT*
FROMt3
WHEREage BETWEEN 15 AND 20;

两条语句查询的结果分别是:

由此可知 between and 包含临界值(=)

七、is null

插入一条age字段为空的数据:

INSERT INTO t3
VALUES( 6, NULL );

查询age字段为空的一整条数据:

SELECT*
FROMt3
WHEREage IS NULL;

查询字段非空的数据:

SELECT*
FROMt3
WHEREage IS NOT NULL;

八、聚合函数

创建一个分数表:

CREATE TABLE score(id INT,chinese INT,english INT,math INT);

插入一些数据:

INSERT INTO score VALUES(1,98,99,100),(2,93,94,80);

查看数据:

SELECT * FROM score;

利用 SUM 查询求和:

SELECTSUM( chinese )
FROMscore;

利用 AVG 查询平均值:

SELECTAVG( chinese )
FROMscore;

利用 MAX 查询最大值:

SELECTMAX( chinese )
FROMscore;

利用 MIN 查询最小值:

SELECTMIN( chinese )
FROMscore;

利用 COUNT 查询数量:

SELECTCOUNT( chinese )
FROMscore;

利用 COUNT(*) 查询数据总条数:

SELECTCOUNT(*)
FROMscore;

九、客户端的使用

安装配置 Navicat 客户端

十、like模糊查询

创建如图所示的表:

查询匹配多个字符的数据:

SELECT*
FROMstudent
WHERENAME LIKE '张%'

查询匹配一个字符的数据:

SELECT*
FROMstudent
WHERENAME LIKE '张_'

使用客户端进行查询,效果展示:

十一、order by排序查询

按照升序 (ASC) 进行排序:

SELECT*
FROMscore
ORDER BYchinese ASC;

按照降序 (DESC) 进行排序:

SELECT*
FROMscore
ORDER BYchinese DESC;

十二、group by分组查询

创建一个叫做 info 的表,并插入数据:

查询表中男性和女性的平均年龄:

SELECTAVG( age ) AS '年龄',gender AS '性别'
FROMinfo
GROUP BYgender;

查询表中上海和北京的平均年龄:

SELECTAVG( age ) AS '年龄',address AS '地区'
FROMinfo
GROUP BYaddress;

group by查询的字段必须是分组字段聚合函数

同样可以多语句进行组合查询

例如:按照平均年龄升序查询显示表中上海的平均年龄和北京的平均年龄:

SELECTAVG( age ) AS '年龄',address AS '地区'
FROMinfo
GROUP BYaddress DESC;

十三、group_concat

聚合显示:

SELECTGROUP_CONCAT( NAME ),gender
FROMstudent
GROUP BYgender;

十四、having

where是从表中一条一条的遍历筛选

having是对查询后的结果表进行再次筛选

1.查询显示表中上海的平均年龄和北京的平均年龄:

SELECTAVG( age ) AS 'age',address AS 'address'
FROMinfo
GROUP BYaddress;

2.如果我们想对已经查询到的表中的数据进行再次筛选查询,可以引入having:

SELECTAVG( age ) AS 'age',address AS 'address'
FROMinfo
GROUP BYaddress
HAVINGage > 24;

十五、limit

limit后跟的数字(%,%),逗号前面的是起始点,后面的是长度(跨度)。

查询数据表中起始位置为1,跨度为2的数据:

SELECT*
FROMinfo LIMIT 0,2;

查询数据表中起始位置为2,跨度为3的数据:

SELECT*
FROMinfo LIMIT 1,3;

年龄按从大到小排序,查询年龄最大的三条数据:

SELECT*
FROMinfo
ORDER BYage LIMIT 3;

十六、distinct all

distinct 代表字段去重

原表数据为:

去重查询:

SELECT DISTINCT address
FROMinfo;

去重聚合查询:

SELECTCOUNT( DISTINCT address )
FROMinfo;

【MySQL学习笔记】MySQL原理---单表查询相关推荐

  1. MySQL学习笔记06【多表查询、子查询、多表查询练习】

    MySQL 文档-黑马程序员(腾讯微云):https://share.weiyun.com/RaCdIwas 1-MySQL基础.pdf.2-MySQL约束与设计.pdf.3-MySQL多表查询与事务 ...

  2. MySQL学习(3)单表查询

    素材如下: DROP TABLE IF EXISTS `course`; CREATE TABLE `course` ( `cs_id` int(11) NOT NULL COMMENT '课程编号' ...

  3. MySQL学习笔记04【数据库的查询操作、今日内容、表的约束】

    MySQL 文档-黑马程序员(腾讯微云):https://share.weiyun.com/RaCdIwas 1-MySQL基础.pdf.2-MySQL约束与设计.pdf.3-MySQL多表查询与事务 ...

  4. MySQL学习笔记03【数据库表的CRUD操作、数据库表中记录的基本操作、客户端图形化界面工具SQLyog】

    MySQL 文档-黑马程序员(腾讯微云):https://share.weiyun.com/RaCdIwas 1-MySQL基础.pdf.2-MySQL约束与设计.pdf.3-MySQL多表查询与事务 ...

  5. MySQL学习笔记05【多表操作、三大范式、数据库的备份和还原】

    MySQL 文档-黑马程序员(腾讯微云):https://share.weiyun.com/RaCdIwas 1-MySQL基础.pdf.2-MySQL约束与设计.pdf.3-MySQL多表查询与事务 ...

  6. 小白终是踏上了这条不归路----小文的mysql学习笔记(8)----分页查询

    ** 小白终是踏上了这条不归路----小文的mysql学习笔记(1) 小白终是踏上了这条不归路----小文的mysql学习笔记(2)----条件查询 小白终是踏上了这条不归路----小文的mysql学 ...

  7. 小白终是踏上了这条不归路----小文的mysql学习笔记(6)----连接查询-----等值连接、非等值连接、自链接、外连接、交叉连接

    ** 小白终是踏上了这条不归路----小文的mysql学习笔记(1) 小白终是踏上了这条不归路----小文的mysql学习笔记(2)----条件查询 小白终是踏上了这条不归路----小文的mysql学 ...

  8. MySQL之DML操作基础--单表查询

    目录 1.INSERT语句 2.REPLACE语句 REPLACE与INSERT语句区别: 3.UPDATE语句 4.DELETE和TRUNCATE语句 DROP.TRUNCATE.DELETE的区别 ...

  9. MySQL第三次作业-----单表查询和多表查询

    文章目录 一.单表查询 1.1创建表单过程 1.2作业要求 1.显示所有职工的基本信息. 2.查询所有职工所属部门的部门号,不显示重复的部门号. 3.求出所有职工的人数. 4.列出最高工和最低工资. ...

  10. MySql 学习笔记-Mysql架构介绍与查询sql执行流程

    最近花了99元大洋在极客时间 买了 MySQL 实战45讲.学习的同时留下点笔记.该内容仅仅是个人总结笔记,如有涉及版权还请告知. MySql 的简介 MySQL是一个关系型数据库管理系统,由瑞典My ...

最新文章

  1. DataTable中数据记录的统计
  2. BenevolentAI | 基于知识图谱发现的COVID-19潜在治疗药物进入临床试验
  3. 从零学React Native之13 持久化存储
  4. REVERSE-PRACTICE-BUUCTF-15
  5. HashMap的put方法(Java7)和putVal方法(Java8)
  6. 部门级服务器一般支持几个cpu,部门级服务器简介
  7. 云服务器支持javascript,云服务器支持javascript
  8. 页面加载速度优化的建议
  9. 测试项目的makefile
  10. 计算机 项目管理 stage phase区别
  11. 利用Python将excel或csv文件导入到mysql数据库中
  12. dos批处理文件中使用vbs
  13. idea调整代码字体大小方法
  14. Bitvise SSH Client 无法连接服务器
  15. html过滤检索类似excel,利用jQuery实现仿Excel表格排序筛选代码
  16. 中国最酷、最美的女明星不是王菲,而是她!
  17. 【已解决】抖音如何取消关注已注销的账户
  18. 淘客用户订单同步思路
  19. 当你在搜索框按下enter的一刹那发生了什么?
  20. m与n的数字运算python_Python脚本基础运算和算法

热门文章

  1. 别坐在金矿上捡垃圾:给管理者的10条建议
  2. ggplot2 | R语言绘制世界地图choropleth
  3. UCOSIII系统任务
  4. 14、文件指令集与变量
  5. 安装x86版 OS X的系统要求
  6. 跨境电商看不到另一面:商家刷单、平台封号、黑灰产牟利
  7. 微博图床php上传,使用新浪微博图床
  8. golang的timer的一些坑
  9. 华为云弹性云服务器有哪些优势?
  10. 【学习笔记】Docker基础实战教程一:入门