基于截取子串的连接

需求描述

需求:查询雇员表里部门编号是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_基于子串的连接相关推荐

  1. mysql修改工资字段_基于Linux的MySQL操作实例(修改表结构,MySQL索引,MySQL数据引擎)...

    基于Linux的MySQL操作实例(修改表结构,MySQL索引,MySQL数据引擎) 前言 本篇是基于Linux下针对MySQL表结构的修改,MySQL索引的操作以及MySQL数据引擎的配置和说明. ...

  2. SQL基础操作_2_操作多个表

    目录 操作多个表 7.3.1 记录集的叠加 7.3.2 组合相关的行 7.3.3 查询两个表共同的行 7.3.4 从一个表中查询另外一个表里没有的值 7.3.5 在一个表中查询与其它表不匹配的记录 7 ...

  3. nodejs操作sqlserver数据_nodejs基于mssql模块连接sqlserver数据库的简单封装操作示例...

    本文实例讲述了nodejs基于mssql模块连接sqlserver数据库的简单封装操作.分享给大家供大家参考,具体如下: 注意:开启sqlserver服务器允许远程连接的步骤,自行百度,很多经验,no ...

  4. week7 day3 记录相关操作之单表查询

    week7 day3 记录相关操作之单表查询 1.1 单表查询的用法 1.2 关键字的执行优先级(重点) 1.3 简单查询 1.4 WHERE约束 1.5 分组查询GROUP BY 1.6 HAVIN ...

  5. Day49 orm 操作 Django单表操作

    1.ORM简介 对象关系映射(Object Relational Mapping,简称ORM).简单的说,ORM是通过使用描述对象和数据库之间映射的元数据,将程序中的对象自动持久化到关系数据库中. O ...

  6. 梳理注册表的一些危险操作,注册表的安全配置,以及对于注册表的总结

    本次文章为大家梳理一些注册表常见的危险操作,希望可以帮大家规避一些在日常使用中可能会遇到的问题. 映象劫持IFEO(Image File Execution Options) 在低版本的windows ...

  7. nodejs操作sqlserver数据_实例分析nodejs基于mssql模块连接sqlserver数据库的简单封装操作...

    本文主要介绍了nodejs基于mssql模块连接sqlserver数据库的简单封装操作,结合实例形式分析了nodejs中mssql模块的安装与操作sqlserver数据库相关使用技巧,需要的朋友可以参 ...

  8. python 笔记 之 sqlalchemy操作数据库-创建表

    2019独角兽企业重金招聘Python工程师标准>>> ''' pip install SQLAlchemy 操作数据库-创建表 ''' import sqlalchemy''' s ...

  9. 数据结构实践——操作用邻接表存储的图

    本文是针对[数据结构基础系列(7):图]的实践. [项目 - 操作用邻接表存储的图] 假设图G采用邻接表存储,分别设计实现以下要求的算法: (1)输出出图G中每个顶点的出度: (2)求出图G中出度最大 ...

最新文章

  1. [ZJOI2019]线段树
  2. java 数组的索引值_按索引访问Java数组位置的值
  3. Docker源码修改工作总结(三)
  4. ASP.NET MVC- Upload File的例子
  5. 【java】 linux下利用nohup后台运行jar文件包程序
  6. ML之PLiR之LARS:利用LARS算法求解ElasticNet回归类型(包括类别编码+属性重要程度排序)问题(实数值年龄预测)
  7. 12道Python基础字符编码数据类型练习题
  8. GDCM:gdcm::Reader的测试程序
  9. Openg-三角形绘制
  10. mysql怎样修改my ini_mysql修改my.ini报错怎么办
  11. easyui下拉框option写死_JavaScript_jQuery+easyui中的combobox实现下拉框特效,1.第一种写法:Input框中显示: - phpStudy...
  12. 1682亿背后丨一分钟看懂天猫双11
  13. dev gridcontrol 单元格内容复制_Excel复制还在用“Ctrl+C”?这5种高效的复制操作,堪称神来之笔...
  14. 基于Linux平台的libpcap源码分析和优化
  15. [转载]《博客园精华集》WebService筛选结果(共79篇)
  16. 【c语言课程设计】C语言校园卡管理系统
  17. VMware 分布式交换机
  18. 根据图像匹配实现鼠标自动点击
  19. Sketch 快捷键(UE图、思维图、UI设计、矢量设计图)
  20. 在ubuntu下连接e-SATA硬盘

热门文章

  1. wxWidgets:wxCloseEvent类用法
  2. boost::spirit模块实现一个雇员结构的解析器的测试程序
  3. 使用 BOOST.ASSERT 机制替换库断言
  4. boost::intrusive::unordered_set用法的测试程序
  5. boost::parallel::distributed_property_map用法的测试程序
  6. boost::gil::matrix3x2用法的测试程序
  7. boost::fusion::single_view用法的测试程序
  8. DCMTK:DcmDate,DcmTime和DcmDateTime类的测试程序
  9. VTK:图表之BoostBreadthFirstSearchTree
  10. OpenCV亮度和对比度调整的实例(附完整代码)