我的Oracle資料庫學習筆記
Day 6 查詢練習
文章目錄
- 我的Oracle資料庫學習筆記
-
-
-
- 查詢20号部門中工資低于1500的員工(編号,姓名,職位,工資,部門編号)
- 查詢10号和20号部門中工資高于1000的員工資訊(編号,姓名,職位,工資,部門編号)
- 查詢員工姓名以'A'開頭或以‘M'開頭的員工資訊(編号,姓名,職位,工資,部門編号)
- 查詢員工姓名不以'A'開頭同時不以‘M'開頭的員工資訊(編号,姓名,職位,工資,部門編号)
- 查詢10部門和20部門中職位為‘CLERK'的員工資訊(編号,姓名,職位,部門編号)
- 查詢職位為’CLERK'的員工資訊,同時此員工不是10号也不是20部門的員工(編号,姓名,職位,部門編号)
- 查詢10部門中沒有獎金的員工資訊(編号,姓名,職位,工資,獎金,部門編号)
- 查詢語句
- 查詢所有員工的資訊
- 查詢所有部門的資訊
- 查詢所有工資等級
- 投影查詢 select 列名清單 from 表名; --列名清單部分使用逗号分隔
- 查詢所有員工的資訊 (編号,姓名,職位,工資,所在部門編号)
- 查詢所有員工的資訊(編号,姓名,職位,上級編号,工資)
- 給查詢的列名起 “别名”,以别名顯示在結果集中 : 列名 [as] 别名
- 查詢所有員工的資訊 (編号,姓名,職位,工資,所在部門編号)
- 可以在查詢語句中使用表達式
- 查詢員的的年薪(編号,姓名,年薪)
- 查詢員的資訊,(編号,姓名,年薪,公司名稱【‘ORACLE公司’】)
-
-
查詢20号部門中工資低于1500的員工(編号,姓名,職位,工資,部門編号)
select empno,ename,job,sal,deptno
from emp
where deptno=20 and sal<1500;
查詢10号和20号部門中工資高于1000的員工資訊(編号,姓名,職位,工資,部門編号)
select empno,ename,job,sal,deptno
from emp
where deptno=20 or deptno=10 and sal>1000; --(20部門中所有員工及10号部門中工資高于1000的員工)
where (deptno=20 or deptno=10) and sal>1000; --條件正确
-- where deptno=20 and sal>1000 or deptno=10 and sal>1000; --條件正确
查詢員工姓名以’A’開頭或以‘M’開頭的員工資訊(編号,姓名,職位,工資,部門編号)
select empno,ename,job,sal,deptno
from emp
where ename like 'A%' or ename like 'M%';
查詢員工姓名不以’A’開頭同時不以‘M’開頭的員工資訊(編号,姓名,職位,工資,部門編号)
select empno,ename,job,sal,deptno
from emp
where ename not like 'A%' and ename not like 'M%';
--
select empno,ename,job,sal,deptno
from emp
where not (ename like 'A%' or ename like 'M%');
查詢10部門和20部門中職位為‘CLERK’的員工資訊(編号,姓名,職位,部門編号)
select empno,ename,job,deptno
from emp
where deptno in(10,20)and job ='CLERK';
查詢職位為’CLERK’的員工資訊,同時此員工不是10号也不是20部門的員工(編号,姓名,職位,部門編号)
select empno,ename,job,deptno
from emp
where deptno not in(10,20)and job ='CLERK';
--
select empno,ename,job,deptno
from emp
where not (deptno =10 or deptno=20) and job='CLERK';
--
select empno,ename,job,deptno
from emp
where deptno !=10 and deptno!=20 and job='CLERK';
查詢10部門中沒有獎金的員工資訊(編号,姓名,職位,工資,獎金,部門編号)
select empno,ename,job,sal,comm,deptno
from emp
where deptno=10 and comm is null;
Scott使用者下的表:
1 emp 員工表
字段:empno (員工編号) ,ename(員工姓名),job(職位),mgr(上級編号),hiredate(入
職日期)
sal(月工資),comm(獎金),deptno(部門編号)
2 dept 部門表
字段: deptno(部門編号) ,dnanme(部門名稱), loc(部門位址)
3 salgrade 工資等級表
grade (工資等級) ,losal(最低工資) ,hisal(最高工資)
查詢語句
文法:
select 列名清單 from 表名
查詢的結果以表的方式 ,稱為:結果集。
查詢所有行所有列的資料 :select * from 表名;
查詢所有員工的資訊
查詢所有部門的資訊
查詢所有工資等級
投影查詢 select 列名清單 from 表名; --列名清單部分使用逗号分隔
查詢所有員工的資訊 (編号,姓名,職位,工資,所在部門編号)
select empno,ename,job,sal,deptno
from emp;
查詢所有員工的資訊(編号,姓名,職位,上級編号,工資)
select empno,ename,job,mgr,sal
from emp;
給查詢的列名起 “别名”,以别名顯示在結果集中 : 列名 [as] 别名
查詢所有員工的資訊 (編号,姓名,職位,工資,所在部門編号)
select empno as 員工編号, ename as 姓名, job as 職位, sal as 工資, deptno as 部門編
号
from emp;
-- 與上面效果相同
select empno 員工編号, ename 姓名, job 職位, sal 工資, deptno 部門編号
from emp;
可以在查詢語句中使用表達式
查詢員的的年薪(編号,姓名,年薪)
select empno ,ename , sal *12 yearSal
from emp;
查詢員的資訊,(編号,姓名,年薪,公司名稱【‘ORACLE公司’】)
select empno,ename,sal*12 yearsal, 'ORACLE公司' 公司名稱
from emp;