您好,登錄后才能下訂單哦!
表字段說明:
id:員工編號
name:員工名字
ano:管理人員編號create table admin(id varchar2(4),name varchar2(10),ano varchar2(4)); insert into admin values('001','XiongDa','004'); insert into admin values('002','XiongEr','004'); insert into admin values('003','ZhangSan','003'); insert into admin values('004','ZhaoSi','004');
查看表
SQL> select * from admin;
ID NAME ANO
------------ ------------------------------ ------------
001 XiongDa 004
002 XiongEr 004
003 ZhangSan 003
004 ZhaoSi 004
SQL>
通過查詢admin表,顯示編號、姓名、管理人員姓名信息
主要思路:怎么找出ano對應的名字
id和ano的對應關系
當我們查詢兩張表的時候,實際上兩張表的所有行都會交叉鏈接
SQL> select * from admin a ,admin b;
ID NAME ANO ID NAME ANO
------------ ------------------------------ ------------ ------------ ------------------------------ ------------
001 XiongDa 004 001 XiongDa 004
001 XiongDa 004 002 XiongEr 004
001 XiongDa 004 003 ZhangSan 003
001 XiongDa 004 004 ZhaoSi 004
002 XiongEr 004 001 XiongDa 004
002 XiongEr 004 002 XiongEr 004
002 XiongEr 004 003 ZhangSan 003
002 XiongEr 004 004 ZhaoSi 004
003 ZhangSan 003 001 XiongDa 004
003 ZhangSan 003 002 XiongEr 004
003 ZhangSan 003 003 ZhangSan 003
003 ZhangSan 003 004 ZhaoSi 004
004 ZhaoSi 004 001 XiongDa 004
004 ZhaoSi 004 002 XiongEr 004
004 ZhaoSi 004 003 ZhangSan 003
004 ZhaoSi 004 004 ZhaoSi 004
16 rows selected.
通過人眼可以看得出我們需要的數據,只要將第二個表的name寫在第一個表的ano即可得出我們想要的信息
001 XiongDa 004 004 ZhaoSi 004
002 XiongEr 004 004 ZhaoSi 004
003 ZhangSan 003 003 ZhangSan 003
004 ZhaoSi 004 004 ZhaoSi 004
通過上面的結果找對應關系,發現只要ano=id,那么就能得出結果
SQL> select a.id,a.name,b.name as aname from admin a ,admin b where a.ano=b.id;
ID NAME ANAME
------------ ------------------------------ ------------------------------
003 ZhangSan ZhangSan
004 ZhaoSi ZhaoSi
002 XiongEr ZhaoSi
001 XiongDa ZhaoSi
SQL>
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。