返回顶部
首页 > 资讯 > 数据库 >MySQL与PHP的基础与应用专题之自连接
  • 340
分享到

MySQL与PHP的基础与应用专题之自连接

2024-04-02 19:04:59 340人浏览 安东尼
摘要

概述 从今天开始, 小白我将带领大家一起来补充一下 数据库的知识. 自连接 自连接 (Self Join) 是一种特殊的表连接. 自连接指相互连接的表在物理上同为一张表, 但是逻辑

概述

从今天开始, 小白我将带领大家一起来补充一下 数据库的知识.

自连接

自连接 (Self Join) 是一种特殊的表连接. 自连接指相互连接的表在物理上同为一张表, 但是逻辑上是多张表. 自连接通常用于表中的数据有层次结构, 如区域表, 菜单表, 商品分类表等.

格式:

SELECT A.列名, B.列名 FROM 表A, 表B WHERE A.列名 = B.列名

数据:

例子: (过滤城市)


<?PHP

$conn = Mysqli_connect("localhost", "root","admin","study");

if ($conn) {
    echo "数据库链接成功\n";
} else {
    echo mysqli_connect_error();
}

# sql语句
$SQL = "SELECT * FROM location WHERE pid <> 0";

# 执行
$result = mysqli_query($conn, $SQL);

# 查看是否执行成功
if ($result) {
    echo "SQL 语句执行成功!\n";
}else {
    echo mysqli_error($conn);
}

# 调试输出
while ($line = mysqli_fetch_assoc($result)) {
    print_r($line);
}

# 关闭连接
mysqli_close($conn);

?>

输出结果:

数据库链接成功
SQL 语句执行成功!
Array
(
[id] => 2
[pid] => 1
[location] => 杭州
)
Array
(
[id] => 3
[pid] => 1
[location] => 萧山
)
Array
(
[id] => 5
[pid] => 2
[location] => 广州
)
Array
(
[id] => 6
[pid] => 2
[location] => 台山
)

子查询 in

子查询又称为内部查询或嵌套查询. 它允许我们在 WHERE 子句中过滤某个字段的多个值.

格式:

SELECT 列名 FROM 表名
WHERE 列名 IN ( SELECT 列名 FROM 表名 [条件])

数据 (table1):

数据 (table2):

例子:


<?php

$conn = mysqli_connect("localhost", "root","admin","study");

if ($conn) {
    echo "数据库链接成功\n";
} else {
    echo mysqli_connect_error();
}

# SQL语句
$SQL = "SELECT table1.* FROM table1
        WHERE table1.name in (SELECT table2.name FROM table2)";

# 执行
$result = mysqli_query($conn, $SQL);

# 查看是否执行成功
if ($result) {
    echo "SQL 语句执行成功!\n";
}else {
    echo mysqli_error($conn);
}

# 调试输出
while ($line = mysqli_fetch_assoc($result)) {
    print_r($line);
}

# 关闭连接
mysqli_close($conn);

?>

输出结果:

数据库链接成功
SQL 语句执行成功!
Array
(
[id] => 1
[name] => 杨富贵
[age] => 18
)
Array
(
[id] => 2
[name] => 杨美丽
[age] => 19
)
Array
(
[id] => 3
[name] => 杨建国
[age] => 20
)

子查询 EXISTS

EXISTS 是子查询中用于测试内部查询是否返回任何行的布尔运算符.

格式:

SELECT 列名 FROM 表名
WHERE EXISTS

例子:


<?php

$conn = mysqli_connect("localhost", "root","admin","study");

if ($conn) {
    echo "数据库链接成功\n";
} else {
    echo mysqli_connect_error();
}

# SQL语句
$SQL = "SELECT table1.* FROM table1
        WHERE EXISTS 
        (SELECT table2.name FROM table2 WHERE table1.name = table2.name)";

# 执行
$result = mysqli_query($conn, $SQL);

# 查看是否执行成功
if ($result) {
    echo "SQL 语句执行成功!\n";
}else {
    echo mysqli_error($conn);
}

# 调试输出
while ($line = mysqli_fetch_assoc($result)) {
    print_r($line);
}

# 关闭连接
mysqli_close($conn);

?>

输出结果:

数据库链接成功
SQL 语句执行成功!
Array
(
[id] => 1
[name] => 杨富贵
[age] => 18
)
Array
(
[id] => 2
[name] => 杨美丽
[age] => 19
)
Array
(
[id] => 3
[name] => 杨建国
[age] => 20
)

到此这篇关于MySQL与PHP的基础与应用专题之自连接的文章就介绍到这了,更多相关MySQL 自连接内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

您可能感兴趣的文档:

--结束END--

本文标题: MySQL与PHP的基础与应用专题之自连接

本文链接: https://lsjlt.com/news/140056.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • MySQL与PHP的基础与应用专题之自连接
    概述 从今天开始, 小白我将带领大家一起来补充一下 数据库的知识. 自连接 自连接 (Self Join) 是一种特殊的表连接. 自连接指相互连接的表在物理上同为一张表, 但是逻辑...
    99+
    2024-04-02
  • MySQL与PHP的基础与应用专题之表连接
    概述 从今天开始, 小白我将带领大家一起来补充一下 数据库的知识. 表连接 表连接 (JOIN) 是在多个表之间通过连接条件. 使表之间发生关联, 进而能从多个表之间获取数据. ...
    99+
    2024-04-02
  • MySQL与PHP的基础与应用专题之索引
    概述 从今天开始, 小白我将带领大家一起来补充一下 数据库的知识. 索引 索引 (Index) 是一种特殊的数据结构, 类似于图书的目录. 索引能够极大的提升数据库的查询效率. 如...
    99+
    2024-04-02
  • MySQL与PHP的基础与应用专题之数据控制
    目录概述数据控制语言MySQL权限体系用户管理创建用户删除用户修改密码权限管理查看权限用户授权撤销授权刷新权限注意事项概述 从今天开始, 小白我将带领大家一起来补充一下 数据库的知识...
    99+
    2024-04-02
  • MySQL与PHP的基础与应用专题之增删改查
    概述 从今天开始, 小白我将带领大家一起来补充一下 数据库的知识. 添加数据 SQL 语句: # 插入单条数据 INSERT INTO 表名 (列名1, 列名2, …) VAL...
    99+
    2024-04-02
  • MySQL与PHP的基础与应用专题之数据查询
    目录概述条件查询例1例2运算符IN例1例2运算符Like例1例2概述 从今天开始, 小白我将带领大家一起来补充一下 数据库的知识. 条件查询 我们可以使用关键词Where...
    99+
    2024-04-02
  • MySQL与PHP的基础与应用专题之内置函数
    概述 从今天开始, 小白我将带领大家一起来补充一下 数据库的知识. MySQL 内置函数 MySQL 内置函数可以帮助我们更方便的处理表中的数据, 简化操作. 数学函数: ...
    99+
    2024-04-02
  • MySQL与PHP的基础与应用专题之数据完整性
    目录概述数据完整性实体完整性域完整性参照完整性自定完整性唯一性外键创建主表&从表插入数据错误展示概述 从今天开始, 小白我将带领大家一起来补充一下 数据库的知识. 数据完整...
    99+
    2024-04-02
  • MySQL与PHP的基础与应用专题之创建数据库表
    概述 从今天开始, 小白我将带领大家一起来补充一下 数据库的知识. MySQL 安装 下载地址: https://dev.mysql.com/downloads/windows/i...
    99+
    2024-04-02
  • MySQL与PHP的基础与应用专题之数据查询语句
    目录概述ORDER BY例 1例 2LIMIT例 1例 2GROUP BY例 1例 2HAVING例 1例 2GROUP_CONCAT例 1例 2DISTINCT例 1例 2...
    99+
    2024-04-02
  • Java基础之JDBC的数据库连接与基本操作
    目录一、JDBC概述二、JDBC操作数据库、操作表步骤三、JDBC体系结构与JDBC API四、注册与加载驱动五、建立连接(Connection)六、使用PreparedStatem...
    99+
    2024-04-02
  • MySQL与PHP的自连接怎么实现
    本篇内容介绍了“MySQL与PHP的自连接怎么实现”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!自连接自连接 (Self Join) 是一种...
    99+
    2023-06-29
  • Python的SQLalchemy模块连接与操作MySQL的基础示例
    一、SQLalchemy简介 SQLAlchemy是一个开源的SQL工具包,基本Python编程语言的MIT许可证而发布的对象关系映射器。SQLAlchemy提供了“一个熟知的企业级全套持久性模式,使用OR...
    99+
    2022-06-04
    示例 模块 操作
  • Java基础之JDBC连接数据库与基本操作的示例分析
    小编给大家分享一下Java基础之JDBC连接数据库与基本操作的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!Java可以用来干什么Java主要应用于:1....
    99+
    2023-06-14
  • MySQL与PHP中的表连接怎么用
    这篇文章给大家分享的是有关MySQL与PHP中的表连接怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。表连接表连接 (JOIN) 是在多个表之间通过连接条件. 使表之间发生关联, 进而能从多个表之间获取数据....
    99+
    2023-06-29
  • 基于PHP+MySQL动漫专题网站系统的设计与实现
    随着时代的发展,人们兴趣爱好也越来越广泛,动漫是当前年轻人比较钟爱的一个兴趣爱好之一,每年都会有大量的动漫爱好者定期的举办一些交流活动等,但是线下的这种交流方式明显不能满足当前动漫爱好者的需求,为此我...
    99+
    2023-09-22
    mysql php 数据库
  • pytorch collate_fn的基础与应用教程
    目录作用原则基础datasetdataloader应用情形总结作用 collate_fn:即用于collate的function,用于整理数据的函数。 说到整理数据,你当然要会用数据...
    99+
    2024-04-02
  • python 类的基础详解与应用
    目录类的定义类对象变量类变量局部变量实例变量私有变量类的方法特殊方法继承单继承多继承类的定义 # class是定义类的关键字,ClassName为类的名称 class Class...
    99+
    2024-04-02
  • 如何实现mysql与php的连接
    这篇文章将为大家详细讲解有关如何实现mysql与php的连接,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。  定义:  PDO是PHP Data Object的简称,代表PHP数据对象...
    99+
    2023-06-06
  • PHP与MySQL连接的方法总结
    本篇文章给大家带来了关于PHP视频教程的相关知识,其中主要介绍了PHP与MySQL连接的相关内容,PHP与MySQL的连接有三种API接口,分别是:PHP的MySQL扩展 、PHP的mysqli扩展 、PHP数据对象(PDO),下面分别来看...
    99+
    2023-05-14
    php
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作