操作多个表_7_基于子串的连接
生活随笔
收集整理的這篇文章主要介紹了
操作多个表_7_基于子串的连接
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
? ? ? ? ? ? ? ? ? ? ? ? ? 基于截取子串的連接
需求描述
需求:查詢雇員表里部門編號(hào)是10的部門編號(hào)、部門名稱、員工名,注這里需要emp表和tmp_v關(guān)聯(lián)。
解決方法:這里需要用到對(duì)tmp_v里的字段data進(jìn)行字符串截取后再跟dept表的關(guān)聯(lián)。
注: 數(shù)據(jù)庫數(shù)據(jù)集SQL腳本詳見如下鏈接地址
員工表結(jié)構(gòu)和數(shù)據(jù)初始化SQL腳本
?
這里tmp_v的數(shù)據(jù)見下:
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執(zhí)行結(jié)果
?
總結(jié)
以上是生活随笔為你收集整理的操作多个表_7_基于子串的连接的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 贷款买房需要担保人吗
- 下一篇: 操作多个表_8_不等值连接