欢迎自己入驻CSDN,一天一天记录自己的学习历程,希望能在整理思路过程中不断成长。我可能走得慢,但会一直坚持下去的。再回头会看看自己有多傻。
第一步,学习MySQL,因为之前接触过一些ACCESS,对于数据库原理部分理解起来还算一知半解,权当复习。
一、 单表查询
数据操作管理里面的查询(SELECT)语句
SELECT 字段列//distinct 可消除重复行
from<表名或视图名>(,<表名或视图名>)//可多个表查询
[where<条件表达式>]//条件:比较(=、<、>、!=、!<、!>);匹配字符(like、not like);指定范围(between and 、not between and)是否为空值(is null、is not null )带IN 的查询; 带is null的空值查询;
[group by<列名1>]//高级查询,t条件分组
[having<分组条件表达式>]//通常和COUNT(),SUM()等聚合函数一起使用
[order by<列名2>[ASC|DESC]]//对查询结果排序
[limit 子句]//限制查询结果数量
集合函数COUNT()统计记录条数;SUM()计算字段值的总和;AVG()字段值的平均值;MAX()最大值;MIN()最小值
二、多表查询
1. inner join(等值连接、自然连接、不等值连接)
SELECT *
from sc inner join course
on sc.cno=course.cno
limit 4;
2.外连接查询
(1)left join(左边表为主,包括右边表没有和它匹配的记录)
(2)right join 右外连接
三、子查询
1.带in的子查询
SELECT*
FROM student
WHERE sno IN(SELECT sno FROM sc);
2.带exists的子查询
3.带ANY的子查询***(类比于条件逻辑中的“任一 ”“存在一个”)
4.带ALL的子查询