最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

mysqljoin语法说明与innerjoin语法用法实例(一)

来源:动视网 责编:小采 时间:2020-11-09 15:57:18
文档

mysqljoin语法说明与innerjoin语法用法实例(一)

mysqljoin语法说明与innerjoin语法用法实例(一):MySQL JOIN 语法概述 SQL(MySQL) JOIN 用于根据两个或多个表中的字段之间的关系,从这些表中得到数据。 JOIN 通常与 ON 关键字搭配使用,基本语法如下: ... FROM table1 INNER|LEFT|RIGHT JOIN table2 ON conditiona tab
推荐度:
导读mysqljoin语法说明与innerjoin语法用法实例(一):MySQL JOIN 语法概述 SQL(MySQL) JOIN 用于根据两个或多个表中的字段之间的关系,从这些表中得到数据。 JOIN 通常与 ON 关键字搭配使用,基本语法如下: ... FROM table1 INNER|LEFT|RIGHT JOIN table2 ON conditiona tab


MySQL JOIN 语法概述 SQL(MySQL) JOIN 用于根据两个或多个表中的字段之间的关系,从这些表中得到数据。 JOIN 通常与 ON 关键字搭配使用,基本语法如下: ... FROM table1 INNER|LEFT|RIGHT JOIN table2 ON conditiona table1 通常称为左表,table2 称为右表

MySQL JOIN 语法概述

SQL(MySQL) JOIN 用于根据两个或多个表中的字段之间的关系,从这些表中得到数据。

JOIN 通常与 ON 关键字搭配使用,基本语法如下:

... FROM table1 INNER|LEFT|RIGHT JOIN table2 ON conditiona

table1 通常称为左表,table2 称为右表。ON 关键字用于设定匹配条件,用于限定在结果集合中想要哪些行。如果需要指定其他条件,后面可以加上 WHERE 条件 或者 LIMIT 以限制记录返回数目等。

下面以最常见的两表连接来说明 MySQL JOIN 的用法,关于多表 JOIN 请参见《MySQL JOIN 多表》。

MySQL JOIN 分类

JOIN 按照功能大致分为如下三类:

  • INNER JOIN(内连接):取得两个表中存在连接匹配关系的记录。
  • LEFT JOIN(左连接):取得左表(table1)完全记录,即是右表(table2)并无对应匹配记录。
  • RIGHT JOIN(右连接):与 LEFT JOIN 相反,取得右表(table2)完全记录,即是左表(table1)并无匹配对应记录。
  • 关于 MySQL FULL JOIN 全连接

    MySQL 没有提供 SQL 标准中的 FULL JOIN(全连接):两个表记录都取出,而不管彼此是否有对应记录。要解决此问题,可以使用 UNION 关键字来合并 LEFT JOIN 与 RIGHT JOIN,达到模拟 FULL JOIN 的目的。

    MySQL INNER JOIN

    INNER JOIN 用于取得两个表中存在连接匹配关系的记录。下面是两个原始数据表:

    article 文章表:
    aid title content uid
    1 文章1 文章1正文内容... 1
    2 文章2 文章2正文内容... 1
    3 文章3 文章3正文内容... 2
    4 文章4 文章4正文内容... 4
    user 用户表:
    uid username email
    1 admin admin@5idev.com
    2 小明 xiao@163.com
    3 Jack jack@gmail.com

    article 表中文章的所属用户是通过 uid 这个字段与 user 表关联起来的。通过观察数据不难发现,对于 uid=3 的用户,并没有发表任何文章;而文章中 aid=4 却无法在 uid 表中找到对应记录(可能是该用户被删除而其所属的文章却被保留了下来)。

    我们列出所用文章与用户一一对应的数据。

    SELECT ... INNER JOIN ... ON 语句如下:

    SELECT article.aid,article.title,user.username FROM article INNER JOIN user ON article.uid = user.uid
    

    返回查询结果如下:

    aid title username
    1 文章1 admin
    2 文章2 admin
    3 文章3 小明

    对于 INNER JOIN,等同与下面的 SQL 语句:

    SELECT article.aid,article.title,user.username FROM article,user WHERE article.uid = user.uid
    

    CROSS JOIN

    CROSS JOIN 即交叉连接,在不指定 ON 条件下:

    SELECT article.aid,article.title,user.username FROM article CROSS JOIN user
    

    得到的结果是被连接的两个数据表的乘积,即笛卡尔积。

    实际上,在 MySQL 中(仅限于 MySQL) CROSS JOIN 与 INNER JOIN 的表现是一样的,在不指定 ON 条件得到的结果都是笛卡尔积,反之取得两个表完全匹配的结果。

    INNER JOIN 与 CROSS JOIN 可以省略 INNER 或 CROSS 关键字,因此下面的 SQL 效果是一样的:

    ... FROM table1 INNER JOIN table2
    ... FROM table1 CROSS JOIN table2
    ... FROM table1 JOIN table2
    


    总结的不错,可以通过一些链接去原地址查看其他感兴趣的jion 链接文章 。

    from http://www.5idev.com/p-php_mysql_inner_join.shtml

    文档

    mysqljoin语法说明与innerjoin语法用法实例(一)

    mysqljoin语法说明与innerjoin语法用法实例(一):MySQL JOIN 语法概述 SQL(MySQL) JOIN 用于根据两个或多个表中的字段之间的关系,从这些表中得到数据。 JOIN 通常与 ON 关键字搭配使用,基本语法如下: ... FROM table1 INNER|LEFT|RIGHT JOIN table2 ON conditiona tab
    推荐度:
    标签: 用法 说明 实例
    • 热门焦点

    最新推荐

    猜你喜欢

    热门推荐

    专题
    Top