全部版块 我的主页
论坛 提问 悬赏 求职 新闻 读书 功能一区 学道会
496 0
2020-04-28
mysql第二天-2020.4.28

单表查询:
1.去重 distinct 单字段或多字段均可

2.条件查询:
运算优先级:算数运算符>条件运算符>逻辑运算符
逻辑运算符:not ,and,or

3.模糊查询:
like
通配符
%不定长度匹配
_一个字符

4.排序:
order by
默认 升序
asc 升序
desc 降序

注意:对两个字段以上进行排序,只有当第一个字段取值相同时,才会对第二个字段进行排序

5.限制查询结果数量:
limit 偏移量(从0开始),行数

6.分组:
group by
having  分组条件

select 后面只能跟分组字段和聚合字段,显示其他字段也可以,但如果不是和分组字段一一对应,虽然不会报错,但也没意义。

聚合函数:
count()
Max()
Min()
Avg()
Sum()

having 后可以用聚合函数,不可以用select中指定的别名,其他数据库都不行,mysql5.75版本可以用,建议不要在having后用select中指定的别名

7.多表连接

表之间的关系:
1:1
1:多
多:多

连接形式:
内连接:只有两个表中满足连接条件的数据都有才显示
inner join
左右连接:只要确定主表,左右连接都一样,满足连接条件的查询出来,同时主表中的记录也会被查出来而附表中的记录显示为空
left join
right join
全连接:满足连接条件的,以及左,右表中不满足记录的都会显示。
右反连接:右表有左表为空的显示
左反连接:左表有右表为空的显示

笛卡尔积 :
select * from a,b;
记录总数 a记录数*b记录数
若有限制条件,同inner join

-- 内连接
select * from t1 inner join t2 on t1.key1 = t2.key2;
select * from t1,t2 where t1.key1 = t2.key2; -- 内连接 没有主副关系

-- 左连接
select * from t1;
select * from t2;
select * from t1 left join t2 on t1.key1=t2.key2;

-- 右连接
select * from t1;
select * from t2;
select * from t1 right join t2 on t1.key1=t2.key2;


-- 全连接 mysql 实现方式

select * from t1 left join t2 on t1.key1 = t2.key2
union
select * from t1 right join t2 on t1.key1 = t2.key2;

-- mysql实现左反连接
select * from t1 left join t2 on t1.key1 = t2.key2
where t2.key2 is null;

-- mysql实现右反连接

select * from t1 right join t2 on t1.key1 = t2.key2
where t1.key1 is null;


维度:用来分组的字段(有序:学历,职称;无序:姓名,性别,血型)
度量:用来聚合计算的字段(数值字段)

如何选择主表:
1表作为主表可以保证维度的完整性
多表作为主表可以保证度量的准确性
没有明确表明需要保证维度完整的准确性,所以将度量值所在表作为主表
度量值通常存在于多表中,因此通常情况下可以将多表作为主表进行外连接

不同的数据分析工具支持的表连接方式:
Oracle/sql server/Tableau/Python:内连接(inner join)、左连接(left join)、右连接(right join)、全连接(full join)
MySQL:内连接(inner join)、左连接(left join)、右连接(right join)
Power BI:内连接、左连接、右连接、全连接、左反连接、右反连接


8.合并查询                           
union 合并可以去重   
union all 合并但不能去重

9.代码执行顺序以及编写顺序:
from
where
group by
having
select
order by
limit

注意:count(*)不是所有都可以这么计算,要按实际数据情况,可通过count(字段名)
二维码

扫码加我 拉你入群

请注明:姓名-公司-职位

以便审核进群资格,未注明则拒绝

相关推荐
栏目导航
热门文章
推荐文章

说点什么

分享

扫码加好友,拉您进群
各岗位、行业、专业交流群