`
lancezhcj
  • 浏览: 48737 次
  • 性别: Icon_minigender_2
  • 来自: 衡阳
社区版块
存档分类
最新评论

请教:数据库in条件中的查询语句解惑

 
阅读更多
   一个sql查询语句中需用到in条件,因为条件中的id来自不同的表的集合,写了以下两个sql语句,第一种会报错,第二种可以,对此表示疑惑,代码如下:
1、select nvl(a.p_id,d.f_id)||','||nvl(b.c_id,d.f_id)
||','||nvl(c.h_id,d.f_id)||','||d.f_id  
from t_property a,
     t_car  b,
     t_human c,
     t_claim d
where a.f_id(+)=d.f_ID 
  and b.Cf_ID(+)=d.f_ID 
  and c.f_ID(+)=d.f_ID  
  and d.report_id='9050003202011001094';

result:651,229,651,651;
2、 select a.p_id from t_property a,t_claim d
where a.f_id=d.f_ID and d.report_id='9050003202011001094'
 union 
 select b.c_id from t_car  b,t_claim d
 where b.f_id=d.f_ID and report_id='9050003202011001094'
 union 
 select c.h_id from t_human c,t_claim d
 where c.f_id=d.f_ID and d.report_id='9050003202011001094'
 union
 select f_id from t_claim d
 where d.report_id='9050003202011001094';

result:
651
229

两条sql语句的区别是前者返回一条结果,是符合条件的id的连接串(中间以逗号分隔),后者返回多条结果,如果前者是一个字符串作为in的条件也不应该报错的吧,最多是没有符合条件的结果;后者好理解,不知道是不是我自己的理解有错,还请有想法的朋友给个回复。

如果第一种写法是如我说的是一个id的连接串,in条件中一个数值,如果对这个sql语句返回值加工,类似于java中的split方法,当然要看oracle中有没有类似的函数,是不是也符合要求呢?^-^
   
分享到:
评论

相关推荐

    PHP100视频教程 9:数据库中的常用SQL语句.rar

    软件介绍 1、SELECT 查询语句和条件语句 SELECT 查询字段 FROM 表名 WHERE 条件 查询字段:可以使用通配符* 、字段名、字段别名 表名: 数据库.表名 ,表名 常用条件: = 等于 、不等于、in 包含 、 not in 不...

    PHP100视频教程09:数据库中的常用SQL语句.rar

    8. DELETE语句:讲解了如何删除数据库中的记录。 9. 子查询:可能涉及了如何在查询中嵌套其他查询以实现更复杂的逻辑。 “9.sql”文件可能包含了一些示例SQL语句,供学习者实际操作和练习。这通常包括创建表、插入...

    数据库查询指令:mysql查询语句汇总+编程知识+技术开发

    mysql查询语句汇总,数据库查询指令:mysql查询语句汇总+编程知识+技术开发;mysql查询语句汇总,数据库查询指令:mysql查询语句汇总+编程知识+技术开发;mysql查询语句汇总,数据库查询指令:mysql查询语句汇总+...

    数据库查询语句(SQL语句)大全

    1. SELECT语句:用于从表中选取数据。基础形式如`SELECT column1, column2 FROM table_name;` 2. WHERE子句:用于指定查询条件,如`SELECT * FROM table_name WHERE condition;` 3. ORDER BY子句:用于排序结果集,...

    实验五:数据库综合查询.pdf

    查询条件是 SELECT 语句中 WHERE 语句后面的条件,它用于过滤数据。查询条件有多种类型,包括: * 等值条件:使用等号 (=) 来比较两列或列和常量的值。 * 不等值条件:使用不等号 (!=) 来比较两列或列和常量的值。 ...

    ACCESS数据库里的一些查询语句用法

    例如,在Access中,如果想要查询所有以字母“A”开头的名字,可以使用以下SQL语句: ```sql SELECT * FROM 表格名称 WHERE 字段名称 LIKE 'A%'; ``` 这里的`A%`表示所有以“A”开头的名字。 ### 二、使用通配符% `...

    数据库查询语句数据库查询语句.doc

    数据库查询语句数据库查询语句

    ACCESS数据库与SQL查询语句生成示例

    在IT领域,数据库管理和查询是核心技能之一,尤其是在企业级应用和数据分析中。ACCESS数据库作为Microsoft Office套件的一部分,提供了一种用户友好的界面来管理数据,并支持SQL(结构化查询语言)进行复杂的数据...

    SQLserver常用语句大全

    * SELECT 语句:从数据库表中检索数据行和列 * INSERT 语句:向数据库表添加新数据行 * DELETE 语句:从数据库表中删除数据行 * UPDATE 语句:更新数据库表中的数据 二、数据定义 * CREATE TABLE 语句:创建一个...

    数据库锁查询sql语句

    使用场景为:数据库出现锁,不能查询数据,该sql语句用户查询数据库锁的sql语句,以及解锁数据库锁。

    SQL语句:数据库交互的桥梁.pdf

    ### SQL语句:数据库交互的桥梁 #### 一、SQL语句的基本概念 SQL语句,全称为Structured Query Language(结构化查询语言),是一种专为关系型数据库管理系统设计的标准编程语言。它允许用户通过简单的命令来进行...

    数据库SQL 创建 查询语句

    数据库 SQL 创建查询语句 一、创建数据库 数据库是关系型数据库管理系统的核心组成部分,用于存储和组织数据。在 SQL Server 2008 中,可以使用对象资源管理器或 T-SQL 语句创建用户数据库。使用对象资源管理器...

    数据库SQL查询语句大全

    掌握这些基本的SQL查询语句是数据库管理的基础,它们允许用户高效地检索、修改和管理数据库中的数据。理解并熟练运用这些语句,无论是进行数据分析还是开发数据库应用程序,都能显著提高工作效率。

    分布式数据库sql语句2022优秀文档.ppt

    * WHERE 语句:用于指定查询的条件 * GROUP BY 语句:用于分组数据 * HAVING 语句:用于指定分组条件 * ORDER BY 语句:用于排序数据 * LIMIT 语句:用于限制查询结果的数量 三、 创建数据库结构 SQL 语句可以用来...

    ACCESS数据库中常见SQL语句教程.docx

    本文档将对ACCESS数据库中常见的SQL语句进行详细的讲解,从基本的SELECT语句到条件查询、谓词In查询、模糊Like查询、空值NULL查询、限制范围Between…And查询等多方面的内容进行了深入的探讨。 一、SELECT语句 ...

    sql数据库详细的高级查询语句

    利用spl数据库中所学知识编制的高级查询语句

    实验四: 数据库的组合查询和统计查询

    数据库的组合查询和统计查询,里面有很全的查询语句,方便初学者参考

    数据库SQL查询语句练习题.doc

    结构化查询语言(Structured Query Language)简称SQL,结构化查询语言是一种数据库查询和程序设计语言,用于存取数据以及查询、更新和管理关系数据库系统; sql 语句就是对数据库进行操作的一种语言。 常见语句 ...

    学习SQL语句之SQL语句大全.pdf

    * SELECT 语句:从数据库表中检索数据行和列。 * INSERT 语句:向数据库表添加新数据行。 * DELETE 语句:从数据库表中删除数据行。 * UPDATE 语句:更新数据库表中的数据。 数据概念 * CREATE TABLE 语句:创建一...

    数据库应用技术:表的条件性查询.pptx

    表的条件性查询是指根据特定的条件从数据库表中检索数据的操作。 在本节中,我们将学习如何使用单条件筛查和多条件筛查来实现数据查询。单条件筛查是指根据一个条件来筛选出满足该条件的数据记录,而多条件筛查是指...

Global site tag (gtag.js) - Google Analytics