-- 查询语句(scott.emp为员工表,scott.dept为部门表)
SELECT * FROM scott.emp;
SELECT * FROM scott.dept;
-- 查询指定的字段
SELECT deptno,dname FROM scott.dept;
-- 查询自定义的字段
SELECT ename,sal*12,concat(ename,'的工作是',job) FROM scott.emp;
-- 别名
SELECT empno 员工编号,ename 姓名,job 岗位,sal 工资,deptno 部门编号 FROM scott.emp;
-- 别名的好处是可以让查询语句不容易写错
SELECT t.empno,t.ename,t.job,t.sal
FROM scott.emp t; (先把from后面的表的别名写上,自己定义。然后写select 别名.后面会出现表字段)
-- 别名只能在一条语句中生效(当代码运行遇到分号后,别名自动取消)
SELECT t.ename FROM scott.emp t ;
SELECT t.ename FROM scott.emp;
-- 条件查询
-- 查询10部门的员工信息
SELECT * FROM scott.emp t WHERE t.deptno=10;
-- 查询SMITH的工号,姓名,岗位,工资,部门编号
SELECT t.empno,t.ename,t.job,t.sal,t.deptno
FROM scott.emp t
WHERE t.ename='SMITH';
-- 查询10部门岗位是MANAGER的员工信息
SELECT *
FROM scott.emp t
WHERE t.deptno=10 and t.job='MANAGER';
-- 查询10部门的员工信息 和 岗位是MANAGER的员工信息
SELECT *
FROM scott.emp t
WHERE t.deptno=10 or t.job='MANAGER';
-- 查询10部门岗位是manager的员工信息和20部门岗位是clerk的员工信息
SELECT *
FROM scott.emp t
WHERE t.deptno=10 and t.job='MANAGER' or t.deptno=20 and t.job='CLERK';
-- 查询10部门和20部门的员工信息
SELECT * FROM scott.emp t WHERE t.deptno=10 or t.deptno=20;
SELECT * FROM scott.emp t WHERE t.deptno in(10,20);
-- 查询SMITH,JONES,CLARK的员工信息
SELECT * FROM scott.emp t WHERE t.ename in('SMITH','JONES','CLARK');
-- 查询工资在1100-1600之间的员工信息
SELECT * FROM scott.emp t WHERE t.sal>=1100 and t.sal<=1600;
SELECT * FROM scott.emp t WHERE t.sal BETWEEN 1100 and 1600;
-- 空值查询
-- 查询没有奖金的员工
SELECT * FROM scott.emp t WHERE t.comm is null;
SELECT * FROM scott.emp t WHERE t.comm=0;
-- 查询有奖金的员工
SELECT * FROM scott.emp t WHERE t.comm is not null;
-- 模糊查询
-- 查询名字是A开头的员工信息
SELECT * FROM scott.emp a WHERE a.ename like'A%';
-- 查询名字第2个字母是A的员工信息
SELECT * FROM scott.emp a WHERE a.ename like'_A%';
-- 查询每个员工的姓名和岗位,要求岗位简写(只显示前3个字母)
SELECT ename,left(job,3) FROM scott.emp;