1.求1982年入職的員工
select *from emp where to_char(hiredate,'yyyy')='1982';
解題思路:通過字符串抓換函數(shù)to_char(hiredate,'yyyy')坑傅,獲取年份即可
2.求1981年下半年入職的員工
(1)select * from emp where hiredate between to_date('1981-7-1','yyyy-MM-dd') and to_date('1981-12-31','yyyy-MM-dd')
(2)select * from emp where hiredate between'01-7月- 81'and'31-12月- 81'
解題思路:限制條件1981年下半年冗疮,表示日期在1981-7-1至1981-12-31的區(qū)間內
3.顯示所有員工姓名的前三個字符
select substr(ename,1,3) from emp
解題思路:substr(ename,1,3)返回ename中從第一位開始,長度為3 的字串.
4.如下代碼恤煞,對代碼描述正確是的(B)
select e.deptno,avg(sal),dname from emp e, dept d where e.depno=d.deptno and e.deptno <>20 group by e.deptno,dname
A.e.deptno=d.deptno條件可以勝略
B.deptno<>20這個條件可以寫在having中
C.group by 子句后的deptno趾撵,dname只寫一個也可以執(zhí)行
D.以上代碼錯誤侄柔,但可以執(zhí)行
5.什么是笛卡爾積現(xiàn)象(A)
A.第一張表中的所有行和另一個表中的所有行都發(fā)生連接的現(xiàn)象
B.第一張表中的數(shù)據(jù)無論按照連接條件都能匹配上都能顯示上的現(xiàn)象
C.第二張表中數(shù)據(jù)五亂按照連接條件能否匹配上都能顯示的現(xiàn)象
D.兩張表中的數(shù)據(jù)自動匹配的現(xiàn)象
6.查詢每個員工的姓名,工資占调,工資等級暂题,所在工作城市
select e.ename, e.sal,s.salgrade,d.loc from emp e,dapt d, salgrade s where e.deptno=d.deptno and e.sal between s.lsal and s.hsal;
7.列出所有員工的姓名和直接上級的姓名
select e.ename,l.ename from emp e,emp i where e.mgr=i.empno