时间:2021-05-24
一般来说,我们为了得到更完整的结果,我们需要从两个或更多的表中获取结果,我一般都是用select xxx,xxx from 表1,表2 where 表1.xxx=表2.xxx,我们一般都是进行的是这般的操作,其实mysql中还有一种操作,那就是join的操作,例如底下有两个表:
请看 "Persons" 表:
接下来请看 "Orders" 表:
以上的这两个表,然后我们把它们进行连接查询
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNoFROM Persons, OrdersWHERE Persons.Id_P = Orders.Id_P结果集:
如果使用关键词JOIN来从两个表中获取数据
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNoFROM PersonsINNER JOIN OrdersON Persons.Id_P = Orders.Id_PORDER BY Persons.LastName结果集:
则inner join 与上面的普通查询没有区别
不同的 SQL JOIN
LEFT JOIN 关键字语法
"Persons" 表:
"Orders" 表:
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNoFROM PersonsLEFT JOIN OrdersON Persons.Id_P=Orders.Id_PORDER BY Persons.LastName结果集:
SQL RIGHT JOIN 关键字
"Persons" 表:
"Orders" 表:
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNoFROM PersonsRIGHT JOIN OrdersON Persons.Id_P=Orders.Id_PORDER BY Persons.LastName结果集:
SQL FULL JOIN 关键字
"Persons" 表:
"Orders" 表:
全连接(FULL JOIN)实例
SELECT Persons.LastName, Persons.FirstName, Orders.OrderNoFROM PersonsFULL JOIN OrdersON Persons.Id_P=Orders.Id_PORDER BY Persons.LastName结果集:
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对的支持。如果你想了解更多相关内容请查看下面相关链接
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
最近遇到的一些问题总结:1.MySQL数据库同一张表做四次左连接查询数据冗余。a.mysql数据库连接查询b.mysql表数据去重2.mybatis查询相同列赋
本文针对ThinkPHP中pathinfo的两种模式、四种路径访问模式和URL重写相关知识进行了总结归纳,分享给大家便于查询和借鉴。具体归纳如下:1、pathi
mysql分区有利于管理非常大的表,mysql分区一共有四种类型,range分区,list分区,hash分区,key分区,我们通过Navicat可视化工具来分区
MySQL表子查询表子查询是指子查询返回的结果集是N行N列的一个表数据。MySQL表子查询实例下面是用于例子的两张原始数据表:article表:blog表:SQ
Java中四种访问权限总结一、Java中有四种访问权限,其中三种有访问权限修饰符,分别为private、public、protected,还有一种不带任何修饰符