0 0

【sql语句】通过关联表取对象5

 

有一个User表 字段为

user_id user_name user_type user_email user_tel user_address user_age

(user_type 对应着下面的关系表 1表示manager 2表示member)

 

 

有一个Relation表 字段为 id manager_user_id manager_user_name member_user_id member_user_name

 

题目是 用户输入一个字符串,我们将它定义为str,str表示的是member的name属性 根据str,查询出所有与 这个meneber(name属性为str)相关的manager对象的所有属性

 

我是想 select * from user where id in (select member_user_id from relation where manager_user_name=str)

当时这样做 由于数据太多庞大 in里面的值太多,超出了oracle的范畴,请问 应该如何写这条sql语句

2013年2月26日 11:54

4个答案 按时间排序 按投票排序

0 0

把in的操作,转化为联结操作,即可。

2013年2月27日 11:54
0 0

可以用 exists函数

2013年2月26日 16:12
0 0

select *
from user u, relation r
where
      manager_user_name=str
      and u.id = r.member_user_id;


走索引,不会慢。

2013年2月26日 12:16
0 0

分拆sql
把select member_user_id from relation where manager_user_name=str
查询结果查询出来
例如是:1,2,3,5,6,6,6,6..... 是个集合 命名为 list
在拼查询的sql时候这样弄:
String str="select * from user where ";
for(int i=0;i<list.size();i++)
{
int id=list.get(i);
if(i<list.size()-1)
{
str+="id ="+id;
}else
{
str+="id ="+id +" or "
}
}
//这样构建 语句就是
select id from table where id1=1 or id=2......
这样是对in的优化了。

2013年2月26日 12:07

相关推荐

    PB 从SQL语句获取数据存储(MySQL)

    标题 "PB 从SQL语句获取数据存储(MySQL)" 指的是使用PowerBuilder (PB) 开发工具,通过SQL语句从MySQL数据库中检索和处理数据存储的过程。在这个Demo中,PB11.5 版本被用作开发环境,而MySQL作为后台数据库系统。...

    oracle 查看当前会话执行的sql语句

    以下将详细介绍如何通过不同的方法来查看当前会话所执行的SQL语句及相关信息。 #### 1. 获取当前会话的信息 首先,我们可以通过`v$session`视图来获取当前会话的基本信息,如SID、SERIAL#等。 ```sql -- 查询当前...

    SQL语句基础教程。SQL语句基础教程

    SQL(Structured Query Language)...通过这个“SQL语句基础教程”,初学者将逐步了解和掌握SQL的基本概念和操作,为数据库管理和分析奠定坚实的基础。在实际应用中,不断练习和探索,将使你对SQL的运用更加得心应手。

    JsonSQL:用SQL语句解析JSON文件

    JsonSQL项目应运而生,它允许用户通过SQL语句来操作和解析JSON文件,提供了更为熟悉的查询方式。 JsonSQL的基本概念是将JSON文档视为一种虚拟的表格,其中JSON对象的键被视为列名,JSON数组中的元素被视为行。这样...

    sql语句学习入门

    SQL语句学习入门涉及的知识点涵盖了结构化查询语言(SQL)的多个方面,包括基础语法、各类操作符、数据操作语言(DML)和数据定义语言(DDL)等。下面详细解读这些知识点。 1. SQL简介 SQL(Structured Query ...

    SQL语句运用技巧

    ### SQL语句运用技巧 #### 一、SQL语言概述 SQL(Structured Query Language,结构化查询语言)是一种用于处理数据库的标准计算机语言。它允许用户在数据的高层次结构上操作而无需关心具体的存储细节。SQL的强大之...

    SQL语句执行顺序说明

    4. **减少访问数据库的次数**:在一个SQL语句中尽量减少对同一张表的多次访问。例如,可以通过JOIN操作一次性获取所需的所有数据,而不是通过多个独立的查询。 5. **使用DECODE函数来减少处理时间**:使用DECODE...

    ibatis常用sql语句

    iBATIS是早期流行的Java持久层框架之一,它通过SQL映射文件将SQL语句与Java对象关联起来,实现数据的持久化操作。iBATIS的核心功能在于其强大的SQL映射能力和动态SQL生成机制,这使得开发人员能够灵活地处理复杂的...

    LINQ to SQL语句(17)之对象加载

    6. **选择性加载(Selective Loading)**:如果只想加载特定的关联对象,可以选择性加载。这可以通过在查询中使用`LoadProperty()`方法来实现,它可以控制哪些关联属性被加载。 7. **上下文生命周期**:DataContext...

    浅谈Linq to sql 的多表关联与动态条件查询

    浅谈Linq to sql 的多表关联与动态条件查询 Linq to sql 是一种强大的数据查询语言,它可以帮助开发者快速、高效地访问和操作数据库数据。在本文中,我们将讨论 Linq to sql 的多表关联和动态条件查询这两个重要的...

    Oracle批处理:使用C# 自带Oracle驱动一次执行多条Sql语句

    这可以通过开启一个OracleTransaction并将其与命令对象关联来实现: ```csharp OracleTransaction transaction = connection.BeginTransaction(); command.Transaction = transaction; // 执行批处理语句 if ...

    model自动生成对应crud sql语句

    标题中的“model自动生成对应crud sql语句”指的是在软件开发过程中,利用特定的工具或框架,通过定义数据模型(Model)自动生成功能齐全的CRUD(Create, Read, Update, Delete)SQL语句的技术。这种方法可以显著...

    sql语句在sas中的应用

    通过连接操作,可以在多个表之间建立关联,并基于某些共同字段合并数据。 **3.3 复杂连接** 除了基本的连接类型外,还有一些更复杂的连接方式,如自连接(self join)、交叉连接(cross join)等。这些高级连接技术能够...

    spring_Framework+经典SQL语句大全+Hibernate中文API

    Hibernate通过映射Java类到数据库表,使得开发者可以使用面向对象的方式处理数据库操作,而无需编写大量的JDBC代码。它支持CRUD(Create, Read, Update, Delete)操作,关联映射,缓存机制,以及HQL(Hibernate ...

    4-动态SQL语句编写.pdf

    总结而言,Mybatis的动态SQL提供了灵活而强大的方式来处理复杂的SQL语句构造问题,尤其适合动态构造条件查询和复杂的数据关联映射。通过上述标签和实例的学习,可以大幅提高编写数据库操作代码的效率和质量。

    50个常用sql语句.rar

    "50个常用sql语句.rar"这个压缩包文件显然是一个学习资源,包含了50个基础到进阶的SQL语句,旨在帮助用户掌握SQL的基本操作。下面我们将详细探讨这些关键的SQL知识点。 1. **SELECT语句**:这是SQL中最常用的语句,...

    基于SQL选择语句的聚类分析.pdf

    5. 聚类执行:使用SQL语句执行聚类过程,如将数据分配到各个簇中。 6. 结果评估:通过SQL查询评估聚类效果,比如计算簇内的方差、轮廓系数等。 例如,一个简单的SQL选择语句可能如下所示,用于获取满足特定条件的...

Global site tag (gtag.js) - Google Analytics