Mysql两表联合查询的四种情况总结

Mysql两表联合查询的四种情况总结,第1张

一般来说,我们为了得到更完整的结果,我们需要从两个或更多的表中获取结果,我一般都是用select

xxx,xxx

from

表1,表2

where

表1xxx=表2xxx,我们一般都是进行的是这般的 *** 作,其实mysql中还有一种 *** 作,那就是join的 *** 作,例如底下有两个表:

请看

"Persons"

表:

接下来请看

"Orders"

表:

以上的这两个表,然后我们把它们进行连接查询

SELECT

PersonsLastName,

PersonsFirstName,

OrdersOrderNo

FROM

Persons,

Orders

WHERE

PersonsId_P

=

OrdersId_P

结果集:

如果使用关键词JOIN来从两个表中获取数据

SELECT

PersonsLastName,

PersonsFirstName,

OrdersOrderNo

FROM

Persons

INNER

JOIN

Orders

ON

PersonsId_P

=

OrdersId_P

ORDER

BY

PersonsLastName

结果集:

则inner

join

与上面的普通查询没有区别

不同的

SQL

JOIN

JOIN:

如果表中有至少一个匹配,则返回行

LEFT

JOIN:

即使右表中没有匹配,也从左表返回所有的

RIGHT

JOIN:

即使左表中没有匹配,也从右表返回所有的行

FULL

JOIN:

只要其中一个表中存在匹配,就返回行

LEFT

JOIN

关键字语法

"Persons"

表:

"Orders"

表:

SELECT

PersonsLastName,

PersonsFirstName,

OrdersOrderNo

FROM

Persons

LEFT

JOIN

Orders

ON

PersonsId_P=OrdersId_P

ORDER

BY

PersonsLastName

结果集:

SQL

RIGHT

JOIN

关键字

"Persons"

表:

"Orders"

表:

SELECT

PersonsLastName,

PersonsFirstName,

OrdersOrderNo

FROM

Persons

RIGHT

JOIN

Orders

ON

PersonsId_P=OrdersId_P

ORDER

BY

PersonsLastName

结果集:

SQL

FULL

JOIN

关键字

"Persons"

表:

"Orders"

表:

全连接(FULL

JOIN)实例

SELECT

PersonsLastName,

PersonsFirstName,

OrdersOrderNo

FROM

Persons

FULL

JOIN

Orders

ON

PersonsId_P=OrdersId_P

ORDER

BY

PersonsLastName

结果集:

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对脚本之家的支持。如果你想了解更多相关内容请查看下面相关链接

您可能感兴趣的文章:浅谈mysql的子查询联合与in的效率详解Mysql多表联合查询效率分析及优化对MySQL几种联合查询的通俗解释Mysql联合查询UNION和UNION

ALL的使用介绍Mysql联合查询UNION和Order

by同时使用报错问题的解决办法mysql多表联合查询返回一张表的内容实现代码mysql使用from与join两表查询的区别总结Mysql查询正在执行的事务以及等待锁的 *** 作方式MySQL查询中LIMIT的大offset导致性能低下浅析Mysql如何查询某条记录在分页的第几页详析

只有一个单纯的join 就是内连接。

比如有表A与表B,都有字段X,通过字段X相关联。

想取表A与表B中X相等的数据,就用内连接,就是join

如果想取表A所有的,表B中X与表A相等的,就是左连接 left join

右连接与左连接的原理一样,只是两表换一下,就是左变右了。

外联接,就是把两个表有的数据都取出来,有关联的,就关联上了,没有关联的,表A有的,表B没有,这些数据,表B的字段都是null,表B有的,表A没有,表A这些字段就是null

Inner join 是两张表做交连后里面条件相同的部分记录产生一个记录集,

union是产生的两个记录集(字段要一样的)并在一起,成为一个新的记录集

Select AField1,Bfield2 from Table1 A inner join Table2 B on aField2=bField2 where

Select Field1 from Table1 union Select Field2 from table2

方案二、

select aid,atitle,bcontent from 表格1 as a,表格2 as b where aid=bid order by aid

rs("id")

rs("title")

rs("content")

另:

新建一个表xxx

sql="insert into xxx select Pid,Ptitle,Mcontent from picture P inner join miaoshu M on Pid=Mid"

connexecute sql

以上就是关于Mysql两表联合查询的四种情况总结全部的内容,包括:Mysql两表联合查询的四种情况总结、sql 各种连接的使用条件,、union这个连接是有什么用的和INNER JOIN有什么区别等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/sjk/10200762.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-06
下一篇 2023-05-06

发表评论

登录后才能评论

评论列表(0条)

保存