WHERE 子句紧随 FROM 子句
查询 last_name 为 'King' 的员工信息
错误1: King 没有加上 单引号
select first_name, last_name from employees where last_name = King
错误2: 在单引号中的值区分大小写
select first_name, last_name from employees where last_name = 'king'
正确
select first_name, last_name from employees where last_name = 'King'
查询 1998-4-24 来公司的员工有哪些?(注意: 日期必须要放在单引号中, 且必须是指定的格式)
select last_name, hire_date from employees where hire_date = '24-4月-1998' --where to_char(hire_date,'yyyy-mm-dd')='1999-02-09' 推荐使用这个方法
查询工资在 5000 -- 10000 之间的员工信息.
使用and
select * from employees where salary >=5000 and salary<=10000
使用between...and,(包含边界)
select * from employees where salary between 5000 and 10000
查询工资等于 6000, 7000, 8000, 9000, 10000 的员工信息
使用or:
select * from employees where salary = 6000 or salary=7000 or salary=8000 or salary=9000 or salary=10000
使用in
select * from employees where salary in(6000,7000,8000,9000,10000)
查询 LAST_NAME 中有 'a' 字符的所有员工信息.
select last_name from employees where last_name like '%a%'
查询 LAST_NAME 中第二个字符是 'o' 的所有员工信息.
select last_name from employees where last_name like '_o%'
查询 LAST_NAME 中含有 '_' 字符的所有员工信息
select last_name from employees where last_name like '%\_%' escape ''
查询 COMMISSION_PCT 字段为空的所有员工信息
select last_name,commission_pct from employees where commission_pct is null
查询 COMMISSION_PCT 字段不为空的所有员工信息
select last_name, commission_pct from employees where commission_pct is not null
ORDER BY:
1). 若查询中有表达式运算, 一般使用别名排序
2). 按多个列排序: 先按第一列排序, 若第一列中有相同的, 再按第二列排序.
格式: ORDER BY 一级排序列 ASC/DESC,二级排序列 ASC/DESC;
选择员工姓名的第三个字母是a的员工姓名
select last_name,job_id,hire_date from employees where last_name like '__a%'
选择姓名中有字母a和e的员工姓名
select last_name,job_id,hire_date from employees where last_name like '%e%a%' or last_name like '%a%e%'