`

巧用SQL中的 like 进行表与表之间的关联!

阅读更多
create view sys_orgp
as
select  
sys_users.v_id AS uid,
sys_users.userid AS userid,
sys_users.username AS username,
sys_users.depids AS userdepids,
sys_zbdep002.POSTID AS postid,
sys_zbdep002.POSTFUNCTION AS pfunction,
sys_zbdep002.POSTNAME AS postname,
sys_zbdep002.POSTSTATUS AS poststatus,
sys_zbdep002.POSTNUM AS postnum,
sys_zbdep001.DEPID AS depid,
sys_zbdep001.DEPNAME AS depname,
sys_zbdep001.deplevel AS deplevel,
getParentName(sys_zbdep002.INDEPID,'2') AS deppath 
from(
(sys_users left join sys_zbdep001 on(
(concat(',',sys_users.depid,',') like 
concat('%,dep-',sys_zbdep001.DEPID,',%')))) 
left join sys_zbdep002 on(
(concat(',',sys_users.postid,',') like 
concat('%,post-',sys_zbdep002.POSTID,',%'))))


在表sys_users 中的post id 为  post-100,post-101

在表sys_zbdep001 中的 id=100 和 id=101 两行数据

关联时使用的 语句为

(concat(',',sys_users.postid,',') like concat('%,post-',sys_zbdep002.POSTID,',%'))

分享到:
评论

相关推荐

    SQL中like的用法

    SQL语句 SELECT LIKE like用法详解 包含你不知道的用法 在SQL结构化查询语言中,LIKE语句有着至关重要的作用。

    SQL 语法 跨表更新

    SQL 语法 语句 跨表更新 UPATE SET FROM WHERE LIKE 有表T1 T2,T1 T2 ID项关联,根据T2项内容更新T1项内容 1.将T2表中'name'的值赋予T1表中'name' 2.判断T2表中'name'的值UPADTE T1表中'name'

    SQL Server数据库查询速度慢原因及优化方法

    like ''a%'' 使用索引 like ''%a'' 不使用索引用 like ''%a%'' 查询时,查询耗时和字段值总长度成正比,所以不能用CHAR类型,而是VARCHAR。对于字段的值很长的建全文索引。 9、DB Server 和APPLication Server ...

    经典SQL语句大全

    10、说明:两张关联表,删除主表中已经在副表中没有的信息 delete from table1 where not exists ( select * from table2 where table1.field1=table2.field1 ) 11、说明:四表联查问题: select * from a left ...

    经典全面的SQL语句大全

     10、说明:两张关联表,删除主表中已经在副表中没有的信息 delete from table1 where not exists ( select * from table2 where table1.field1=table2.field1 )  11、说明:四表联查问题: select * from a left ...

    SQL培训第一期

    如果左表的某行在右表中没有匹配行,则在相关联的结果集行中右表的所有选择列表列均为空值。 1.6.2.2 语法 select A.*,B.* from student_A A left join student_B B on A.Uuid = B.Uuid; 1.6.2.3 结果 1.6.2.4 (+...

    SQL 优化原则

    但是,如果在SQL语句的where子句中写的SQL代码不合理,就会造成优化器删去索引而使用全表扫描,一般就这种SQL语句就是所谓的劣质SQL语句。在编写SQL语句时我们应清楚优化器根据何种原则来删除索引,这有助于写出高...

    SQL普查优化信息汇总

    很多情况下ORACLE并不能为我们的SQL语句选择最有效的驱动表, 在我们自己确定了合适的驱动表之后,可以使用HINT: ORDERED,LEADING来指定合适的驱动表 WHERE子句中的连接条件书写顺序 那些可以过滤掉最大数量记录的...

    sql2005全文检索.doc

    ◆帮助对 SQL Server 数据库中的表进行全文搜索。  让我们来看看SQL Server 2005全文索引的过程  全文填充(也称为爬网或爬虫)开始后,数据库引擎会将大批数据存入内存并通知 Microsoft SQL Server 全文引擎 ...

    Oracle-SQL基础到存储过程下载(第二阶段)

    018.sql高级查询_like模糊查询.mp4 019.sql高级查询_集合运算.mp4 020.sql高级查询_约束.mp4 021.sql高级查询_关联之通用写法001.mp4 022.sql高级查询_子查询.mp4 023.sql高级查询_关联之通用写法002.mp4 024.sql...

    Oracle数据库Sql语句详解大全

    使用LIKE、BETWEEN、IN进行模糊查询 第三章 单行函数 熟悉各种类型单行函数的使用 掌握转换函数的使用 第四章 关联查询 在一张或多张表中使用等值或非等值连接 使用外连接查询 自连接查询 第五章 组函数 定义及...

    基于MySQL玩转SQL数据分析课程 互联网数据分析师-SQL数据分析实战视频教程.txt

    (1)\SQL与数Ju分析;目录中文件数:23个 ├─(1) 开课-课时3SQL与数Ju库的价值.flv ├─(2) 课时10 插入数Ju操作.mp4 ├─(3) 课时11 更新修改删除数据.mp4 ├─(4) 课时12Dbeaver安装演示.mp4 ├─(5) 课时13 ...

    2009达内SQL学习笔记

    ORDER BY子句中使用的列将是为显示所选择的列,但是实际上并不一定要这样,用非检索的列排序数据是完全合法的。 为了按多个列排序,列名之间用逗号分开。 2、支持按相对列位置进行排序。 输入 SELECT prod_id,...

    数据库操作语句大全(sql)

    10、说明:两张关联表,删除主表中已经在副表中没有的信息 delete from table1 where not exists ( select * from table2 where table1.field1=table2.field1 ) 11、说明:四表联查问题: select * from a left ...

    sql经典语句一部分

    10、说明:两张关联表,删除主表中已经在副表中没有的信息 delete from table1 where not exists ( select * from table2 where table1.field1=table2.field1 ) 11、说明:四表联查问题: select * from a left ...

    Oracle数据库、SQL

    1.16课程中使用的5个表 3 二、 select from语句 5 2.1 select语句功能 5 2.2 select语句基本语法 5 2.3列别名 5 2.4算术表达式 5 2.5空值null的处理 5 2.6 nvl(p1,p2)函数 5 2.7拼接运算符 || 6 2.8文字字符串 6 2.9...

    深入浅出 SQL (中文版).part1

    本书带你进入SQL语言的心脏地带,从使用INSERT和SELECT这些基本的查询语法到使用子查询(subquery)、连接(join)和事务(transaction)这样的核心技术来操作数据库。到读完本书之时,你将不仅能够理解高效数据库...

    超实用sql语句

    10、说明:两张关联表,删除主表中已经在副表中没有的信息 delete from table1 where not exists ( select * from table2 where table1.field1=table2.field1 ) 11、说明:四表联查问题: select * from a left ...

    sql性能优化

     b 直接修改后台 根据输入条件 先查出符合条件的供应商 并把相关记录保存在一个临时表里头 然后再用临时表去做复杂关联">主要描述了sql上的性能优化操作 eg:  1 查询的模糊匹配  尽量避免在一个复杂查询里面...

    T-SQL高级查询

    将一个table的查询结果当做一个新表进行查询 select * from ( select id, name from student where sex = 1 ) t where t.id > 2; 上面括号中的语句,就是子查询语句(内部查询)。在外面的是外部查询,其中外部查询...

Global site tag (gtag.js) - Google Analytics