SQL 笔记
笔记摘自廖雪峰官网的SQL教程。详情请访问 SQL教程-廖雪峰的官方网站。网站提供了在线运行SQL的功能。
查询
1. 基本查询
语法:SELECT * FROM <表名>;
eg:SELECT * FROM students;
2. 条件查询
语法:SELECT * FROM <表名> WHERE <条件表达式>;
举例 => SELECT * FROM students WHERE score >=90;
1. 条件表达式
条件表达式里面可以有多个分支条件,对于条件1、条件2等,可以用 AND、OR、NOT 来修饰。用法:
<条件1> AND <条件2>
<条件1> OR <条件2>
NOT <条件1>
2. 不相等,<>
score <> 80
name <> 'abc'
3. 相似 LIKE
name LIKE 'ab%'
name LIKE '%bc%'
4. 区间 BETWEEN
查询分数在60分(含)~90分(含)之间的学生可以使用的WHERE语句:
=> WHERE score >= 60 AND score <= 90
=> WHERE score BETWEEN 60 AND 90
5. 查询结果重命名
SELECT 列名1 别名1, 列名2 别名2, 列名3 别名3 FROM ...
3. 投影查询
SELECT 列1, 列2, 列3 FROM...
仅返回指定的列,即投影.
4. 排序
+ 使用 ORDER BY 列名 规则, 放在<条件表达式>后面;
+ 默认的排序规则是 ASC, 即"升序",从小到大. ASC可以省略;
+ 如果要 从大到小, 可以添加条件 DESC, 即"倒序";
+ 当数据相同时需要进一步排序,可以再ORDER BY 列名1 后面继续添加列名2,如: ORDER BY score
DESC,gender, 即先按照 score 倒序排列,相同分数的按照 gender 排序;
+ 举例:查询一班同学的分数,按照分数倒序(高->低),性别排序
=>SELECT id,name,gender,score FROM students WHERE class_id = 1 ORDER