-- 条件查询
SELECT 列名 FROM 表名 WHERE 条件表达式
- 语法:
WHERE <列名> [> < <= >= = <> !=] <值>
-- 查询出生日期晚于 1965-01-01 的员工编号、姓名和生日
SELECT
emp_no, first_name, last_name, birth_date
FROM
employees
WHERE
birth_date > '1965-01-01';
- 语法:
WHERE <列名> [NOT] BETWEEN <起始表达式> AND <结束表达式>
<起始表达式>
和 <结束表达式>
的顺序不能颠倒
-- 查询年薪介于 70000 到 70003 之间的员工编号和年薪
SELECT
emp_no, salary
FROM
salaries
WHERE
salary BETWEEN 70000 AND 70003;
- 语法:
WHERE <列名> IN <(常量列表)>
(常量列表)
中各常量值用逗号隔开
-- 查询入职日期为 1995-01-27 和 1995-03-20 日的员工信息
SELECT
*
FROM
employees
WHERE
hire_date IN ('1995-01-27', '1995-03-20');
- 语法:
WHERE <列名> IS [NOT] NULL
-- 选择 hog_demo 为当前数据库
USE hog_demo;
-- 更新 student 表中 id 为 2 的 age 值为 NULL
UPDATE student SET age = NULL WHERE id = 2;
-- 查询学生表中年龄为 NULL 的学生信息
SELECT
*
FROM
student
WHERE
age IS NULL;
AND && |
多个条件同时成立 |
OR || |
多个条件任一成立 |
NOT |
不成立 |
-- 查询名字为 Lillian 并且姓氏为 Haddadi 的员工信息
SELECT
*
FROM
employees
WHERE
first_name = 'Lillian'
AND last_name = 'Haddadi';
-- 查询名字为 Lillian 或者姓氏为 Terkki 的员工信息
SELECT
*
FROM
employees
WHERE
first_name = 'Lillian'
OR last_name = 'Terkki';
-- 查询名字为 Lillian 并且性别不是女的员工信息
SELECT
*
FROM
employees
WHERE
first_name = 'Lillian'
and not gender='F';
-- 查询名字中包含 fai 的员工的信息
SELECT
*
FROM
employees
WHERE
first_name LIKE '%fai%';
-- 查询名字中 fa 开头的名字长度为 3 位的员工信息
SELECT
*
FROM
employees
WHERE
first_name LIKE 'fa_';