`
chengxianju
  • 浏览: 257868 次
  • 性别: Icon_minigender_1
  • 来自: 合肥
社区版块
存档分类
最新评论

php中的连接查询

阅读更多

left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录
right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录
inner join(等值连接) 只返回两个表中联结字段相等的行

举例如下:
--------------------------------------------
表A记录如下:
aID     aNum
1     a20050111
2     a20050112
3     a20050113
4     a20050114
5     a20050115

表B记录如下:
bID     bName
1     2006032401
2     2006032402
3     2006032403
4     2006032404
8     2006032408

--------------------------------------------
1.left join
sql语句如下:


显示代码打印
1 select * from A 

2 left join B  

3 on A.aID = B.bID
 

 

结果如下:
aID     aNum     bID     bName
1     a20050111    1     2006032401
2     a20050112    2     2006032402
3     a20050113    3     2006032403
4     a20050114    4     2006032404
5     a20050115    NULL     NULL

(所影响的行数为 5 行)
结果说明:
left join是以A表的记录为基础的,A可以看成左表,B可以看成右表,left join是以左表为准的.
换句话说,左表(A)的记录将会全部表示出来,而右表(B)只会显示符合搜索条件的记录(例子中为: A.aID = B.bID).
B表记录不足的地方均为NULL.
--------------------------------------------
2.right join
sql语句如下:


显示代码打印
1 select * from A 

2 right join B  

3 on A.aID = B.bID
 

 

结果如下:
aID     aNum     bID     bName
1     a20050111    1     2006032401
2     a20050112    2     2006032402
3     a20050113    3     2006032403
4     a20050114    4     2006032404
NULL     NULL     8     2006032408

(所影响的行数为 5 行)
结果说明:
仔细观察一下,就会发现,和left join的结果刚好相反,这次是以右表(B)为基础的,A表不足的地方用NULL填充.
--------------------------------------------
3.inner join
sql语句如下:

显示代码打印
1 select * from A 

2 innerjoin B  

3 on A.aID = B.bID
 

 

结果如下:
aID     aNum     bID     bName
1     a20050111    1     2006032401
2     a20050112    2     2006032402
3     a20050113    3     2006032403
4     a20050114    4     2006032404

结果说明:
很明显,这里只显示出了 A.aID = B.bID的记录.这说明inner join并不以谁为基础,它只显示符合条件的记录.
--------------------------------------------
注:
LEFT JOIN操作用于在任何的 FROM 子句中,组合来源表的记录。使用 LEFT JOIN 运算来创建一个左边外部联接。左边外部联接将包含了从第一个(左边)开始的两个表中的全部记录,即使在第二个(右边)表中并没有相符值的记录。

语法:

显示代码打印
1 FROM table1 LEFT JOIN table2 ON table1.field1 compopr table2.field2
 

 

说明:table1, table2参数用于指定要将记录组合的表的名称。
field1, field2参数指定被联接的字段的名称。且这些字段必须有相同的数据类型及包含相同类型的数据,但它们不需要有相同的名称。
compopr参数指定关系比较运算符:"=", "<", ">", "<=", ">=" 或 "<>"。
如果在INNER JOIN操作中要联接包含Memo 数据类型或 OLE Object 数据类型数据的字段,将会发生错误.

 

分享到:
评论

相关推荐

    使用php连接hive

    标题“使用PHP连接Hive”涉及的技术点主要是如何在PHP编程环境中通过特定的库和工具与Hadoop Hive数据仓库系统进行交互。Hive是Apache Hadoop项目的一部分,它提供了SQL-like查询语言(HQL)来处理存储在Hadoop...

    【亲测可用】PHP连接sql server

    本文将详细介绍如何使用PHP连接到SQL Server数据库,并执行基本查询操作。我们将基于提供的标题和描述,以及"php_line_sql"这个文件名,推测这是一个包含PHP连接SQL Server示例代码的压缩文件。 首先,为了连接PHP...

    thinkPHP5框架实现多数据库连接,跨数据连接查询操作示例

    本文实例讲述了thinkPHP5框架实现多数据库连接,跨数据连接查询操作。分享给大家供大家参考,具体如下: 1. 多数据库连接 方法1:在需要连接其他数据库的地方,使用Db::connect()方法动态连接数据库,方法参数为...

    PHP连接SQLServer代码

    本文将详细探讨如何使用PHP连接SQL Server,以及相关的核心代码和探针。 首先,为了连接SQL Server,PHP需要一个扩展,通常使用的是`mssql`或`sqlsrv`。`mssql`扩展适用于旧版本的SQL Server,而`sqlsrv`则是微软为...

    PHP连接sqlserver数据库

    在给定的压缩包文件`educe`中,虽然没有具体的内容,但通常这样的文件可能包含了PHP连接SQL Server所需的扩展文件,例如`php_sqlsrv_56_nts.dll`和`php_sqlsrv_56_ts.dll`。下载并正确配置这些文件,就能实现PHP在...

    php连接Oracle的配置详解及测试代码

    接下来,让我们看一个简单的PHP连接Oracle数据库的示例代码: ```php &lt;?php $connection = oci_connect("username", "password", "localhost/service_name"); if (!$connection) { $e = oci_error(); echo "无法...

    PHP如何连接mongo,PHP连接mongodb

    PHP如何连接mongo,PHP连接mongodb的方法,和查询,update、insert、find

    php的mysql数据库连接类

    下面将详细讨论PHP连接MySQL数据库的相关知识点。 首先,PHP提供了多种方式来连接MySQL数据库,包括`mysqli`扩展和`PDO_MySQL`扩展。然而,这里提到的"db.php"可能是一个自定义的类,它封装了这些原生函数,为...

    php连接firebird2.1数据库的代码-亲测可用

    以下是一些关于如何使用PHP连接Firebird 2.1数据库的关键知识点,以及可能涉及的代码示例。 首先,你需要确保已经安装了PHP的Firebird/InterBase扩展。这个扩展允许PHP通过ibase库与Firebird数据库进行通信。你可以...

    php连接sqlsever数据库配置方法

    PDO是PHP访问数据库的抽象层,而SQLSRV是Microsoft提供的用于PHP连接SQL Server的驱动。你可以从Microsoft官方网站下载适用于PHP 5.6的PHP Drivers for SQL Server。 安装驱动后,需要将它们添加到PHP配置文件中。...

    PHP连接各种数据库代码

    以下是一个示例,展示如何使用PHP连接到一个MSSQL数据库并执行SQL查询。 ```php &lt;?php // 设置数据库服务器、用户名、密码以及数据库名 $myServer = 'localhost'; $myUser = 'sa'; $myPass = 'password'; $myDB = '...

    PHP连接oracle工具

    综上所述,"PHP连接Oracle工具"主要是关于如何在PHP环境中使用PDO_OCI扩展与Oracle数据库进行通信,这涉及到PHP版本和PDO扩展的兼容性,以及如何配置和使用PDO_OCI进行数据库操作。这些知识对于PHP开发者来说至关...

    php连接sqlserver数据库驱动.rar

    "php连接sqlserver数据库驱动.rar"这个压缩包很可能是包含PHP连接SQL Server所需的驱动程序,如PDO_SQLSRV或sqlsrv。本文将详细解释如何使用PHP连接到SQL Server数据库,以及相关的关键知识点。 首先,你需要确保你...

    PHP (PDO)连接oracle数据库

    在IT行业中,PHP(Hypertext Preprocessor)是一种广泛使用的开源脚本语言,常用于Web开发,而Oracle数据库则是企业级的数据存储系统。PDO(PHP Data Objects)是PHP的一个扩展,提供了一种统一的方式来访问各种...

    php连接mssql注意事项

    本文将详细讲解PHP连接MSSQL时的一些关键知识点,并结合提供的标签和文件名,探讨如何正确使用NTWDBLIB.DLL这个库文件。 首先,让我们了解一下PHP与MSSQL的连接方式。PHP提供了多种扩展来实现这一目标,如mssql、...

    php经典分页类 设定连接类型

    这段代码展示了如何在PHP中设计一个实用的分页类,包括数据库连接、查询和分页逻辑的封装。它不仅提供了数据库连接的灵活性(持久连接或常规连接),还考虑了字符集的问题,以确保数据完整性。分页类则实现了高效的...

    php与mysql连接代码

    下面将详细阐述如何使用PHP连接到MySQL数据库。 1. **建立连接**: 在PHP中,我们可以使用`mysqli_connect()`或`PDO_MYSQL`函数来连接到MySQL服务器。例如,使用`mysqli_connect()`的代码如下: ```php $...

    php连接hive thrift的lib依赖包

    标题“php连接hive thrift的lib依赖包”指的是在PHP环境中,为了实现与Hive的Thrift服务器通信,我们需要特定的库(lib)文件。在描述中提到的问题是,使用Hive压缩包自带的PHP库进行连接时,测试未能成功。这可能是...

Global site tag (gtag.js) - Google Analytics