【MySQL学习笔记】MySQL原理---单表查询
一、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原理---单表查询相关推荐
- MySQL学习笔记06【多表查询、子查询、多表查询练习】
MySQL 文档-黑马程序员(腾讯微云):https://share.weiyun.com/RaCdIwas 1-MySQL基础.pdf.2-MySQL约束与设计.pdf.3-MySQL多表查询与事务 ...
- MySQL学习(3)单表查询
素材如下: DROP TABLE IF EXISTS `course`; CREATE TABLE `course` ( `cs_id` int(11) NOT NULL COMMENT '课程编号' ...
- MySQL学习笔记04【数据库的查询操作、今日内容、表的约束】
MySQL 文档-黑马程序员(腾讯微云):https://share.weiyun.com/RaCdIwas 1-MySQL基础.pdf.2-MySQL约束与设计.pdf.3-MySQL多表查询与事务 ...
- MySQL学习笔记03【数据库表的CRUD操作、数据库表中记录的基本操作、客户端图形化界面工具SQLyog】
MySQL 文档-黑马程序员(腾讯微云):https://share.weiyun.com/RaCdIwas 1-MySQL基础.pdf.2-MySQL约束与设计.pdf.3-MySQL多表查询与事务 ...
- MySQL学习笔记05【多表操作、三大范式、数据库的备份和还原】
MySQL 文档-黑马程序员(腾讯微云):https://share.weiyun.com/RaCdIwas 1-MySQL基础.pdf.2-MySQL约束与设计.pdf.3-MySQL多表查询与事务 ...
- 小白终是踏上了这条不归路----小文的mysql学习笔记(8)----分页查询
** 小白终是踏上了这条不归路----小文的mysql学习笔记(1) 小白终是踏上了这条不归路----小文的mysql学习笔记(2)----条件查询 小白终是踏上了这条不归路----小文的mysql学 ...
- 小白终是踏上了这条不归路----小文的mysql学习笔记(6)----连接查询-----等值连接、非等值连接、自链接、外连接、交叉连接
** 小白终是踏上了这条不归路----小文的mysql学习笔记(1) 小白终是踏上了这条不归路----小文的mysql学习笔记(2)----条件查询 小白终是踏上了这条不归路----小文的mysql学 ...
- MySQL之DML操作基础--单表查询
目录 1.INSERT语句 2.REPLACE语句 REPLACE与INSERT语句区别: 3.UPDATE语句 4.DELETE和TRUNCATE语句 DROP.TRUNCATE.DELETE的区别 ...
- MySQL第三次作业-----单表查询和多表查询
文章目录 一.单表查询 1.1创建表单过程 1.2作业要求 1.显示所有职工的基本信息. 2.查询所有职工所属部门的部门号,不显示重复的部门号. 3.求出所有职工的人数. 4.列出最高工和最低工资. ...
- MySql 学习笔记-Mysql架构介绍与查询sql执行流程
最近花了99元大洋在极客时间 买了 MySQL 实战45讲.学习的同时留下点笔记.该内容仅仅是个人总结笔记,如有涉及版权还请告知. MySql 的简介 MySQL是一个关系型数据库管理系统,由瑞典My ...
最新文章
- DataTable中数据记录的统计
- BenevolentAI | 基于知识图谱发现的COVID-19潜在治疗药物进入临床试验
- 从零学React Native之13 持久化存储
- REVERSE-PRACTICE-BUUCTF-15
- HashMap的put方法(Java7)和putVal方法(Java8)
- 部门级服务器一般支持几个cpu,部门级服务器简介
- 云服务器支持javascript,云服务器支持javascript
- 页面加载速度优化的建议
- 测试项目的makefile
- 计算机 项目管理 stage phase区别
- 利用Python将excel或csv文件导入到mysql数据库中
- dos批处理文件中使用vbs
- idea调整代码字体大小方法
- Bitvise SSH Client 无法连接服务器
- html过滤检索类似excel,利用jQuery实现仿Excel表格排序筛选代码
- 中国最酷、最美的女明星不是王菲,而是她!
- 【已解决】抖音如何取消关注已注销的账户
- 淘客用户订单同步思路
- 当你在搜索框按下enter的一刹那发生了什么?
- m与n的数字运算python_Python脚本基础运算和算法