MySQL学习笔记-一些查询

一、投影查询

查询表是只需要某些列,即只取出特定的列

SELECT c1, c2, c3 FROM table

取出特定的列并重新命名

SELECT c1, c2 新名字2, c3 新名字3 FROM table

二、分页查询

将表中的记录按pagesize分为每一个存相同记录数的页,之后查找部分信息时就相当于在每个分页中取想要的记录数。

SELECT * FROM xx WHER xx ORDER BY xx LIMIT m OFFSET n

分页语句为

LIMIT m OFFSET n

MySql中语句可简写为:LIMIT n,m

三、聚合查询

3.1 聚合函数

COUNT(), MAX(), MIN(), SUM(), AVG()

3.1.1 COUNT()

COUNT()返回所符合查询条件的记录的条数;但,返回的是一个一行一列的二维数组,列名为COUNT(),为方便处理,通常给结果取个“小名”

SELECT xx COUNT(*) sum FROM xx WHERE xx

3.1.2 MAX(),MIN()函数不局限于数值类型

COUNT()在WHERE条件下匹配不到记录,返回0;MAX(),MIN(),SUM(),AVG()返回NULL

3.2 分组聚合查询

通过分组聚合查询可以将表中数据分组后,每组均执行所需的聚合函数。此外,只有被分组的列名才能被起“小名”。

SELECT aa, 聚合函数 别名 FROM xx WHERE xx GROUP BY aa

如:在student列表中,求每个班男女人数

SELECT class_id, gender, COUNT(*) num FROM students GROUP BY class_id, gender;

四、 多表查询

4.1 直接查询方式

允许多张表同时查询数据,最终查询的表列数为两张表列数之和,行数为两张表行数之积

SELECT * FROM table1, table2;

为简化代码书写,可以给查询条件和被查询的表其“小名”。搜索条件的“小名”起法为“表名.列名 小名”,被搜索的表的“小名”起法为“表名 小名”

SELECT s.id sid, s.name, s.gender, s.score, c.id cid,  c.name cname

FROM students s, classes c

WHERE s.gender = 'M' AND c.id = 1;

4.2 通过JOIN ON方式实现

首先确定一个结果集为主表,将tableB的查询结果“附加”在结果集上。搜索不存在的列自动填充为NULL。

SELECT ... FROM tableA xxx JOIN tableB ON tableA.column1 = tableB.column2;

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值