学习目标
1.基本的查询语句
2.指定查询条件
3.注释和SQL语句注意事项
4.运算符
5.字符串模糊查询
一. 基本的查询语句
我们通过向数据库发送SQL查询语句,数据库里运行SQL语句,将查询结果返回。
最基本的查询语句包括两个子句:SELECT子句,FROM子句。
子句是SQL语句的组成要素,是五个以关键字作为开始的语句。
- 从student表中查找姓名,学号两列数据
SELECT 姓名, 学号 FROM student;
- 查询student表里全部列(*)
SELECT * FROM student;
- 删除重复数据:在SELECT子句的列名前添加DISTINCT
SELECT DISTINCT 姓名 FROM student;
SELECT DISTINCT 姓名, 学号 FROM student;
- 使用AS为列设置别名,别名可以让SELECT语句更加容易理解和操作。
SELECT 姓名 AS '学生姓名', 学号 AS '学生学号' FROM student;
二. 指定查询条件
查询语句通过WHERE子句来指定查找条件:
SELECT *
FROM student
WHERE 姓名 = '猴子'; /* 查询条件的表达式 */
SQL子句的书写顺序和SQL的运行顺序不同
SQL运行顺序:SELECT子句最后运行,其他子句按书写顺序运行。
三. 注释sql语句
注释能够帮助阅读者更好的理解SQL语句,特别是书写复杂SQL语句。
单行注释
-- 查询出全部列
SELECT * FROM student;
多行注释
/*
查找姓名是猴子学生
的学号
*/
SELECT 学号 FROM student WHERE 姓名 = '猴子';
四. 运算符
算数运算符
加法:+
减法: -
乘法: *
除法:/
SELECT 学号,成绩,
成绩/100 AS '百分比成绩'
FROM score;
比较运算符
相等:=
不等于 :<>
大于 : >
大于等于: >=
小于: <
小于等于: <=
空值: IS NULL
-- 数值比较
SELECT 学号, 成绩
FROM score
WHERE 成绩 > 60;
-- 日期比较
SELECT 姓名, 出生日期
FROM student
WHERE 出生日期 < '1990-01-01';
-- 如何查询出 NULL 值?
SELECT 教师号, 教师姓名
FROM teacher
WHERE 教师姓名 IS NULL
补充:字符串比较
'10' > '2'
逻辑运算符
NOT:否定某一条件
AND:并且
BETWEEN:范围查询
OR:或者
IN:OR的简单写法
NOT(一般不使用)
SELECT 学号, 成绩
FROM score
WHERE NOT 成绩 >= 80;
SELECT 学号, 成绩
FROM score
WHERE 成绩 < 80;
AND
SELECT 学号, 成绩
FROM score
WHERE 成绩>=60
AND 成绩<=90;
BETWEEN
SELECT 学号, 成绩
FROM score
WHERE 成绩 >= 60
AND 成绩 <= 90;
SELECT 学号, 成绩
FROM score
WHERE 成绩 BETWEEN 60 AND 90;
IN
SELECT 姓名, 性别
FROM student
WHERE 姓名 IN ('猴子', '马云');
SELECT 姓名, 性别
FROM student
WHERE 姓名 NOT IN ('猴子', '马云');
五. 字符串模糊查询
字符串模糊查询:LIKE e.g. 搜索引擎搜索关键词
%表示任意字符串:
1.猴%
-- 查询姓猴的学生名单
SELECT *
FROM student
WHERE 姓名 LIKE '猴%';
2.%猴
-- 查询姓名中最后一个字是聪的学生名单
SELECT *
FROM student
WHERE 姓名 LIKE '%聪';
3.%猴%
-- 查询姓名中带猴的学生名单
SELECT *
FROM student
WHERE 姓名 LIKE '%马%';
_一个下划线表示任意1个字符
-- 查询姓王的学生名单,并且姓名是三个字的
SELECT *
FROM student
WHERE 姓名 LIKE '王__';