#1.DISTINCT 去除重复的内容
SELECT loc FROM dept;
SELECT DISTINCT loc FROM dept;
#2.WHERE使用
SELECT * FROM emp WHERE 1=1;-- 结果是true ,类似于没有条件
SELECT * FROM emp WHERE 1=0;-- 结果是false ,类似于条件不成立
-- 查询职位是员工,薪资是3000的员工信息
SELECT * FROM emp WHERE job='员工' AND sal=3000;
-- 查询职位是员工 或者 薪资是3000的员工信息
SELECT * FROM emp WHERE job='员工' OR sal=3000;
-- 查询职位薪资大于等于3500的员工信息
SELECT * FROM emp WHERE sal>=3500;
-- 查询emp表中薪资在3500到10000之间的员工信息
SELECT * FROM emp WHERE sal>=3500 AND sal<=10000;
SELECT * FROM emp WHERE sal BETWEEN 3500 AND 10000;-- 注意这个between包含了边界值
#4.查询薪资是10000,8000,3000的员工信息
SELECT * FROM emp WHERE sal=10000 OR sal=8000 OR sal=3000;
-- 也可以用in 表示在这里
SELECT * FROM emp WHERE sal IN(10000,8000,3000);
-- not in 表示不在这里
SELECT * FROM emp WHERE sal NOT IN(10000,8000,3000);
#5.求出每个员工的总薪资
SELECT ename,sal+IFNULL(comm,0) FROM emp;
-- 这样写阅读体验极差,可以起个别名
SELECT ename,sal+IFNULL(comm,0) AS 总薪资 FROM emp;
#AS也可以省略
SELECT ename,sal+IFNULL(comm,0) AS 总薪资 FROM emp;
#6.like像...,进行模糊查询
#like经常和通配符有关联,%代表0-n个任意字符 _代表一个任意字符 a% a_
#查询emp中姓名以1开头的员工信息
SELECT * FROM emp WHERE ename LIKE'l%';
#查询emp中姓名包含a的员工信息
SELECT * FROM emp WHERE ename LIKE'%a%';
#查询emp表中名字是三个字符,并且以l开头的员工信息
SELECT * FROM emp WHERE ename LIKE'l__';
#7.NULL 关键字
#查询奖金是NULL的员工信息
SELECT * FROM emp WHERE comm IS NULL;
SELECT * FROM emp WHERE comm IS NOT NULL;