MySQL

来源:互联网 发布:vmware nat 端口转发 编辑:程序博客网 时间:2024/06/01 20:44
查询句型一:
select 字段
from 表
where...


查询句型二(统计/聚合):
select 聚合函数(字段)
from 表
group by 统计字段


查询句型三(统计/聚合):
select 聚合函数(字段)
from 表
group by 统计字段
having...


查询句型四(统计/聚合):
select 聚合函数(字段)
from 表
where...
group by 统计字段
having...


查询句型五(联表查询)
select 字段
from 表1 inner join 表2
on 表1.某字段=表2.某字段
where...


查询句型六(联表查询/不推荐/了解)
select 字段
from 表1,表2
where 表1.某字段=表2.某字段


查询句型七(联表查询)
select 字段
from 表1 
inner join 表2
on 表1.某字段=表2.某字段
inner join 表3
on 表2.某字段=表3.某字段
...
...
where...


联表的种类:
inner join(内联)
表A inner join 表B -> 结果集为两表共有的信息


left join(左外联/左联)
表A left join 表B -> 结果集为表A全部信息+两表共有信息(表B中缺损信息以null显示)


right join(右外联/右联)
表A right join 表B -> 结果集为表B全部信息+两表共有信息(表A中缺损信息以null显示)


cross join(交叉联/不常用/笛卡尔算法/了解即可)






unique 和主键的区别;
unique一张表可以有多个根据需求可以给任何属性添加unique来保证唯一性
主键一张表只可能有一个




分组语句group by跟聚合函数是在一起用的;但是分组语句后不能用where,可以用having


SELECT  c_name ,AVG(grade)   
from score
GROUP BY  c_name
having AVG(grade)>'85'   正确




SELECT  c_name ,AVG(grade)   
from score
GROUP BY  c_name
where AVG(grade)>'85' 错误













0 0
原创粉丝点击