操作多个表_7_基于子串的连接
生活随笔
收集整理的這篇文章主要介紹了
操作多个表_7_基于子串的连接
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
? ? ? ? ? ? ? ? ? ? ? ? ? 基于截取子串的連接
需求描述
需求:查詢雇員表里部門編號是10的部門編號、部門名稱、員工名,注這里需要emp表和tmp_v關聯。
解決方法:這里需要用到對tmp_v里的字段data進行字符串截取后再跟dept表的關聯。
注: 數據庫數據集SQL腳本詳見如下鏈接地址
員工表結構和數據初始化SQL腳本
?
這里tmp_v的數據見下:
SELECT * FROM tmp_v;SQL代碼
-- Mysql、Sql server、Oracle: SELECT B.deptno,B.dname,A.ename FROM (SELECT SUBSTRING(data,1,CHARINDEX(' ',data,1)-1) as ename, SUBSTRING(data,CHARINDEX(' ',data,1)+1,LEN(data)) as deptno FROM tmp_v )A INNER JOIN dept B ON A.deptno = B.deptno WHERE A.deptno=10-- 或: SELECT B.deptno,B.dname,SUBSTRING(data,1,CHARINDEX(' ',data,1)-1) as ename FROM tmp_v A INNER JOIN dept B ON SUBSTRING(A.data,CHARINDEX(' ',A.data,1)+1,LEN(A.data)) = B.deptno WHERE B.deptno=10執行結果
?
總結
以上是生活随笔為你收集整理的操作多个表_7_基于子串的连接的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 贷款买房需要担保人吗
- 下一篇: 操作多个表_8_不等值连接