# 基本用法
SELECT [DISTINCT] * | {column1,column2....}
FROM table_name
1
2
2
# 实例
1.查询表中所有学生的信息
SELECT * FROM student
1
2.查询表中所有学生的姓名和对应的英语成绩
SELECT `name`,english
FROM student
1
2
2
3.过滤表中重复数据
SELECT DISTINCT * FROM student
1
【DISTINCT】:要查询的字段每一个都相同,才会去重
# 表达式运算
SELECT * | {column1|expression,column2|expression...}
FROM table_name
1
2
2
# 运算符
比较运算符
- 大于
>
,小于<
,大于(小于)等于>=
<=
,不等于<>
!=
- 在某一区间(包含边界):
BETWEEN...AND...
- 在列表中的值:
IN(SET)
- 模糊查询:
LIKE
,NOT LIKE
逻辑运算符
- 多个条件同时成立:
and
- 多个条件任一成立:
or
- 不成立:
not
例:where not(salary>3000)
# 实例
1.统计每个学生的总分
SELECT `name`,(chinese+english+math)
FROM student
1
2
2
2.统计每个学生总分加10分的情况
SELECT `name`,(chinese+english+math+10)
FROM student
1
2
2
3.查询名字为小明的学生的成绩
SELECT * FROM student
WHERE `name` = '小明'
1
2
2
4.查询总分大于200分的所有同学
SELECT `name` FROM student
WHERE (chinese+english+math) > 200
1
2
2
5.查询数学成绩大于60,并且语文成绩大于80的学生成绩
SELECT * FROM student
WHERE math > 60 AND chinese > 80
1
2
2
6.查询英语成绩大于语文成绩的学生信息
SELECT * FROM student
WHERE english > chinese
1
2
2
7.查询总分大于200分,并且数学成绩小于语文成绩,并且姓小的学生
SELECT * FROM student
WHERE (chinese+english+math)>200 AND math<chinese AND `name` LIKE '小%'
1
2
2
# 别名
SELECT column_name AS other_name
FROM table_name
1
2
2
注:可以省略AS,但要空格
# 实例
1.使用别名表示学生分数
SELECT `name`,(chinese+english+math) as total
FROM student
1
2
2
SELECT `name`,(chinese+english+math) total
FROM student
1
2
2
# 排序
SELECT column1,column2,column3...
FROM table_name
order by column asc|desc
1
2
3
2
3
升序:asc 默认,降序:desc
# 实例
1.按数学成绩升序显示
SELECT * FROM student
ORDER BY math
1
2
2
2.按总分成绩降序显示
SELECT * ,(chinese+english+math) total FROM student
ORDER BY total desc
1
2
2
3.对姓小的学生总分降序排序
SELECT * ,(chinese+english+math) total FROM student
WHERE `name` LIKE '小%'
ORDER BY total desc
```****
1
2
3
2
3