`
yangxiutian
  • 浏览: 61382 次
  • 性别: Icon_minigender_1
社区版块
存档分类
最新评论

sql的各种连接查询

阅读更多
以下均以oracle->scott账号自带的数据库为例(方括号里的东西表示有和没有效果是一样的)。
表内查询->自连接
查询所有经理所对应的雇员:
sql/86:
select manager.ename as manager,worker.ename as worker from emp manager,emp worker where manager.empno=worker.mgr;
 sql/92:
select manager.ename as manager, worker.ename as worker where emp manager [inner] join emp worker on manager.empno=worker.mgr;
 
表间连接->内连接
查询部门名对应的雇员名:
sql/86:
select e.ename,d.dname from emp e,dept d where e.deptno=d.deptno;
 sql/92:
select e.ename ,d.dname from emp e [inner] join dept d on e.deptno=d.deptno;
相同列名的关联可以用自然连接达到同样的效果:
select ename,dname from emp natural [inner] join dept;
  
     ->左外连接
查询雇员名对应的部门名和没有部门对应的雇员名:
sql/92:
select e.ename,d.dname from emp e left [outer] join dept d on e.deptno=d.deptno;
    相同列名的关联可以用自然连接达到同样的效果:
select ename,dname from emp natural left [outer] join dept;
 
     ->右外连接
查询雇员名对应的部门名和没有雇员对应的部门名:
sql/92:
select e.ename,d.dname from emp e [right] outer join dept d on e.deptno=d.deptno;
      相同列名的关联可以用自然连接达到同样的效果:
select ename,dname from emp natural right [outer] join dept;

          ->全连接
sql/92:
select e.ename,d.dname from emp e full [outer] join dept d on e.deptno=d.deptno;
  相同列名的关联可以用自然连接达到同样的效果:
select ename,dname from emp natural full [outer] join dept;
 
---------以上都是相等连接,还有一种不等连接

例如,显示每个雇员的名字和薪资等级:
sql/86:
select e.ename,s.grade from emp e,salgrade s where e.sal between s.losal and s.hisal;
 sql/92:
select e.ename,s.grade from emp e [inner] join salgrade s on e.sal between s.losal and s.hisal;
 *1、between...and...包括两个端点值(仅限于oracle,其它数据库的处理方式可能不同)。
   2、从可以加inner中可以看出,不等连接也可以有内连接、左外/右外/全连接。
7
6
分享到:
评论
2 楼 yangxiutian 2012-08-30  
乱_战 写道
W3CHOOL:重要事项:不同的数据库对 BETWEEN...AND 操作符的处理方式是有差异的。某些数据库会列出介于 "Adams" 和 "Carter" 之间的人,但不包括 "Adams" 和 "Carter" ;某些数据库会列出介于 "Adams" 和 "Carter" 之间并包括 "Adams" 和 "Carter" 的人;而另一些数据库会列出介于 "Adams" 和 "Carter" 之间的人,包括 "Adams" ,但不包括 "Carter" 。

不同数据库不同的处理方式,要根据数据库而言

楼主查看了下w3school的网站,确实是这么说的,谢谢一楼的指正。oracle的处理方式是包括两个端点值。
1 楼 乱_战 2012-08-30  
W3CHOOL:重要事项:不同的数据库对 BETWEEN...AND 操作符的处理方式是有差异的。某些数据库会列出介于 "Adams" 和 "Carter" 之间的人,但不包括 "Adams" 和 "Carter" ;某些数据库会列出介于 "Adams" 和 "Carter" 之间并包括 "Adams" 和 "Carter" 的人;而另一些数据库会列出介于 "Adams" 和 "Carter" 之间的人,包括 "Adams" ,但不包括 "Carter" 。

不同数据库不同的处理方式,要根据数据库而言

相关推荐

    SqlServer连接工具

    Azure Data Studio带有丰富的扩展,可以连接到各种数据源,包括SQL Server、Azure SQL、PostgreSQL等。 除此之外,免费的第三方工具如SQL Server Compact Toolbox 和 SQL Server Express Management Studio 也是...

    SQL各种查询方法

    下面我们将详细探讨SQL的各种查询方法。 1. **基本查询**:这是SQL中最基础的操作,用于从单一表中检索数据。使用`SELECT`语句,可以指定想要查询的列,例如`SELECT * FROM 表名`会返回表中的所有数据。如果只想...

    数据库作业7:SQL练习4 – SELECT(连接查询、嵌套查询)

    数据查询2—连接查询:同时涉及两个以上的表的查询 连接条件:用来连接两个表的条件 [.] [.] 连接字段:连接条件中的列名称(注意:连接字段类型必须是可比的,但名字不必相同) 连接查询—(1)等值与非等值连接查询:...

    SQL多表连接查询优化的相关研究

    一、SQL连接查询类型: 1. 内连接(INNER JOIN):返回两个表中匹配的行。 2. 左连接(LEFT JOIN):返回左表的所有行,即使右表没有匹配的行,结果用NULL填充。 3. 右连接(RIGHT JOIN):与左连接相反,返回右表的...

    如何查看sql server数据库连接数

    2. 在下面的项目中选择用户连接(User Connection),这样就可以实时查询到 SQL Server 数据库连接数。 方法二:通过系统表查询 可以通过系统表来查询 SQL Server 数据库连接数。具体步骤如下: 1. 使用以下查询...

    SqlDbx连接oracle

    4. 使用配置好的连接进行SQL查询、数据库对象浏览或其他数据库操作。 关于NETWORK文件,通常在Oracle环境中指的是网络配置文件,如tnsnames.ora。这个文件定义了Oracle数据库的服务名,包含服务器的主机名、端口和...

    JSP与SQL Server2000的连接查询

    本篇将详细阐述如何使用JSP与SQL Server 2000进行连接查询,展示数据。 首先,要实现JSP与SQL Server 2000的连接,我们需要以下组件: 1. **JDBC驱动**:Java Database Connectivity (JDBC) 是Java编程语言中用来...

    SQL连接器 SQL连接器

    SQL连接器是数据库管理系统与应用程序之间的重要桥梁,它允许程序通过特定的接口与各种数据库进行交互,从而实现数据的查询、插入、更新和删除等操作。在本文中,我们将深入探讨SQL连接器的工作原理、常见类型以及...

    oracle sqldeveloper连接mysql、SQLServer第三方dll

    解决oracle sqldeveloper无法连接mysql、SQLServer问题,sqlDeveloper是ORACLE数据库开发工具,自带的是无法连接MS SQL Server以及mysql的,想连接的话需要第三方工具。 使用方法: 解压出来后将2个jar放入jlib...

    java 连接sqlserver数据库查询,并分页显示

    在Java编程中,连接SQL Server数据库并执行查询是常见的任务,尤其当涉及到大量数据时,分页显示就显得尤为重要。本篇文章将详细讲解如何使用Java连接SQL Server数据库,执行查询语句以及实现分页显示。 首先,我们...

    SQL SERVER连接oracle数据库几种方法

    OPENQUERY 是 SQL Server 中的一个系统存储过程,用于执行远程查询。我们可以使用 OPENQUERY 来连接 Oracle 数据库。下面是一个示例代码: ```sql SELECT * FROM OPENQUERY(GE160, 'SELECT * FROM DAIMIN.JOBS') `...

    VB实现SQL连接查询

    综上所述,"VB实现SQL连接查询"涉及的主要知识点包括VB的数据库操作基础、ADODB组件的使用、SQL语句的编写以及数据库连接的建立和关闭。通过这个小程序,你可以学习如何在VB环境中与SQL Server进行有效交互,实现...

    sql连接查询

    sql查询基础,连接查询介绍及实例,简洁形象的描述了连接查询的原理。

    SQL 语句查询

    对常用的SQL语句的汇总,里面包含了SQL各种连接查询,以及游标,存储过程的讲解

    test_lesson07 SQL99语法连接查询.pdf

    在SQL99语法中,连接查询是数据库操作中不可或缺的一部分,它允许我们从多个表中检索数据,并将这些数据关联起来。在这个测试中,我们将探讨三个具体的查询需求,每个需求都涉及到了不同的连接类型和处理缺失值的...

    sql server客户端连接工具

    SQL Server客户端连接工具是数据库管理员和开发人员用来与Microsoft SQL Server进行交互的重要工具。它提供了图形用户界面(GUI)和命令行选项,使得用户能够轻松地执行查询、管理数据库对象以及进行其他数据库维护...

    SQL数据库连接工具SqlDbx

    SqlDbx是一款强大的SQL数据库连接工具,专为数据库管理和开发人员设计,提供了高效、便捷的接口来访问和操作各种SQL数据库。它以其直观的用户界面和出色的数据导出功能著称,比传统的SQL Server管理工具如SQL Server...

    SQL server 连接测试工具

    "SQL server 连接测试工具"就是为了满足这一需求而设计的,它帮助用户验证与SQL Server实例的连接,并在连接成功后将相关信息写入配置文件,简化了数据库管理的工作流程。 1. **连接测试**:连接测试工具的主要功能...

    SQLDBX 连接多种类型的数据库

    SQLDBX是一款强大的数据库管理工具,它允许用户方便地连接并操作多种类型的数据库系统,包括SQL SERVER的各种版本、Oracle的不同版本以及MYSQL等。这款软件以其高效、易用和跨平台的特点,深受数据库管理员和开发...

    SQL Server连接,查询数据,写数据

    本示例聚焦于如何使用Visual C++(简称VC)来操作SQL Server,包括建立连接、执行查询以及写入数据。下面将详细介绍这个过程,并基于"vc操作sql"这一主题进行深入探讨。 1. **建立SQL Server连接**: 在VC中,我们...

Global site tag (gtag.js) - Google Analytics