以下是一个训练实例,其中用到的salgrade表的结构如下:
DESC salgrade
Sql代码
1. 名称 是否为空 类型
------------------------------------------- ------------------ ------------------GRADE NUMBERLOSAL NUMBERHISAL NUMBER
Grade 表示工资等级,losal和hisal分别表示某等级工资的下限和上限。
表的内容为:
Sql代码
1.SELECT*FROMsalgrade;
Sql代码
1. GRADE LOSAL HISAL
------------------- ------------------- -------------1 700 12002 1201 14003 1401 20004 2001 30005 3001 9999
显示雇员名称,工资和所属工资等级。
执行以下查询:
Sql代码
1.SELECTe.ename, e.sal, s.gradeFROMemp e,salgrade s
WHEREe.sal BETWEEN s.losal AND s.hisal;
执行结果为:
Sql代码
1. ENAME SAL GRADE
----------------- -------------------- -------------------
3. JONES 2975 4
BLAKE 2850 4CLARK 2450 4SCOTT 3000 4FORD 3000 4KING 5000 5
说明:通过将雇员工资与不同的工资上下限范围相比较,取得工资的等级,并在查询结果中显示出雇员的工资等级。
4.自连接
最后是一个自连接的训练实例,自连接就是一个表,同本身进行连接。对于自连接可以想像存在两个相同的表(表和表的副本),可以通过不同的别名区别两个相同的表。
显示雇员名称和雇员的经理名称。
执行以下查询:
Sql代码
1.SELECTworker.ename||' 的经理是 '||manager.enameAS雇员经理
FROMemp w