#1、查询指定字段
SELECT first_name FROM employees;
#2、配合","查询多个字段
SELECT first_name,last_name FROM employees;
#3、查询全部字段
SELECT * FROM employees;
#4、条件查询——数字运算符
SELECT first_name,salary FROM employees
WHERE salary>=10000;
#-------------------------
#5、条件查询——逻辑运算符
#5.1_查询工资在10000到2000之间的员工名、工资和奖金
SELECT last_name,salary,commission_pct
FROM employees
WHERE salary>=10000 AND salary<=20000;
#5.2_查询部门编号不是90到110之间,或者工资高于15000的员工信息
SELECT *
FROM employees
WHERE NOT(department_id>=90 AND department_id<=110) OR salary>15000;
#-------------------------
#6、模糊查询——like
/*总结:
1————大多数情况和通配符搭配使用:
% 任意多个字符,包含0个字符
_ 任意单个字符
*/
#6.1_查询员工中包含字符a的员工信息
SELECT *
FROM employees
WHERE last_name LIKE '%a%';
#6.2_查询员工名中第三个字符为n,第五个字符为l的员工名和工资
SELECT last_name,salary
FROM employees
WHERE last_name LIKE ‘__n_l%’;
#6.3_查询员工名中第二个字符为_的员工名(需要字符转义)
SELECT last_name
FROM employees
WHERE last_name LIKE '_\_%';
#6.4_配合6.3自定义转义字符
SELECT last_name
FROM employees
WHERE last_name LIKE '_$_%' ESCAPE '$';
#-------------------------
#7、模糊查询——between and
/*总结:
1————between 起始值A and 终止值B
2————闭区间
*/
#7.1_查询员工编号在100到120之间的员工信息
SELECT *
FROM employees
WHERE employee_id BETWEEN 100 AND 120;
#-------------------------
#8、模糊查询——in
/*
含义:判断某字段的值是否属于in列表中的每一项
特点:
1——方便
2——in列表的值必须一致或兼容 ’123‘,123
3——不支持通配符
*/
#8.1_查询员工的工种编号是 IT_PROG、AD_VP、AD_PRES中的一个员工名和工种编号
SELECT last_name,job_id
FROM employees
WHERE job_id IN('IT_PROG','AD_VP','AD_PRES');
#-------------------------
#9、is null
/*与其他相关的对比:
1—— <>或=不能判断null
2—— is null或is not null
3—— where salary is 12000; 错误
*/
#9.1_查询没有奖金的员工名和奖金率
SELECT last_name,commission_pct
FROM employees
WHERE commission_pct IS NOT NULL;
#-------------------------
#10、安全等于 <=>
#10.1_查询没有奖金的员工名和奖金率
SELECT last_name,commission_pct
FROM employees
WHERE commission_pct <=> NULL;
#10.2_查询工资为12000的员工信息
SELECT last_name,salary
FROM employees
WHERE salary <=> 12000;
#-------------------------