mysql 交叉连接的用法_sql中内连接与外连接与交叉连接用法

文章介绍了在mysql中的内连接与外连接与交叉连接用法与举例说明了,有需要了解的朋友可以参考一下下。

(一)内连接SQL INNER JOIN 关键字

在表中存在至少一个匹配时,INNER JOIN 关键字返回行。

内连接查询操作列出与连接条件匹配的数据行,它使用比较运算符比较被连接列的

列值。内连接分三种:

1、等值连接:在连接条件中使用等于号(=)运算符比较被连接列的列值,其查询结

果中列出被连接表中的所有列,包括其中的重复列。

语法

代码如下

复制代码

SELECT column_name(s)

FROM table_name1

INNER JOIN table_name2

ON table_name1.column_name=table_name2.column_name

注释:INNER JOIN 与 JOIN 是相同的

例,下面使用等值连接列出authors和publishers表中位于同一城市的作者和出版社:

代码如下

复制代码

SELECT *

FROM authors AS a INNER JOIN publishers AS p

ON a.city=p.city

2、不等连接: 在连接条件使用除等于运算符以外的其它比较运算符比较被连接的

列的列值。这些运算符包括>、>=、<=、、!。

3、自然连接:在连接条件中使用等于(=)运算符比较被连接列的列值,但它使用选

择列表指出查询结果集合中所包括的列,并删除连接表中的重复列。

例,在选择列表中删除authors 和publishers 表中重复列(city和state):

代码如下

复制代码

SELECT a.*,p.pub_id,p.pub_name,p.country

FROM authors AS a INNER JOIN publishers AS p

ON a.city=p.city

(二) 外连接

LEFT JOIN 关键字会从左表 (table_name1) 那里返回所有的行,即使在右表 (table_name2) 中没有匹配的行。

外连接,返回到查询结果集合中的不仅包含符合连接条件的行,而且还包括左表(左

外连接或左连接))、右表(右外连接或右连接)或两个边接表(全外连接)中的所有数据行。

left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录;

right join(右联接) 返回包括右表中的所有记录和左表中联结字段相等的记录;

LEFT JOIN 关键字语法

代码如下

复制代码

SELECT column_name(s)

FROM table_name1

LEFT JOIN table_name2

ON table_name1.column_name=table_name2.column_name

注释:在某些中, LEFT JOIN 称为 LEFT OUTER JOIN。

例如1:

代码如下

复制代码

SELECT a.*,b.* FROM luntan LEFT JOIN usertable as b

ON a.username=b.username

例如2:

代码如下

复制代码

SELECT a.*,b.*

FROM city as a FULL OUTER JOIN user as b

ON a.username=b.username

(三) 交叉连接

交叉连接不带WHERE 子句,它返回被连接的两个表所有数据行的笛卡尔积,返回到

结果集合中的数据行数等于第一个表中符合查询条件的数据行数乘以第二个表中符合查

询条件的数据行数。例,titles表中有6类图书,而publishers表中有8家出版社,则下

列交叉连接检索到的记录数将等于6*8=48行。

例如:

代码如下

复制代码

SELECT type,pub_name

FROM titles CROSS JOIN publishers

ORDER BY type

SQL JOIN - 使用 Join

除了上面的方法,我们也可以使用关键词 JOIN 来从两个表中获取数据。

如果我们希望列出所有人的定购,可以使用下面的 SELECT 语句:

代码如下

复制代码

SELECT Persons.LastName, Persons.FirstName, Orders.OrderNo

FROM Persons

INNER JOIN Orders

ON Persons.Id_P = Orders.Id_P

ORDER BY Persons.LastName

f68f2add0b68e4f9810432fce46917b7.png

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/272883.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

$.ajax()参数详解及标准写法

1.url:要求为String类型的参数&#xff0c;&#xff08;默认为当前页地址&#xff09;发送请求的地址。2.type:要求为String类型的参数&#xff0c;请求方式&#xff08;post或get&#xff09;默认为get。注意其他http请求方法&#xff0c;例如put和delete也可以使用&#xff0…

使用JAXP对XML文档进行DOM解析

一、XML解析方式分为两种&#xff1a;dom和sax dom&#xff1a;&#xff08;Document Object Model,即文档对象模型&#xff09;是W3C组织推荐的解析XML的一种方式。sax&#xff1a;&#xff08;Simple API for XML)不是官方标准&#xff0c;但它是XML社区事实上的标准&#xf…

tfpose与openpose区别_人体姿态识别--Openpose+Tensorflow

目的复现代码完成视频中的人体姿态识别复现过程视频来源&#xff1a;https://www.youtube.com/watch?vcMhWNGBW1Xg​www.youtube.com视频动图检测结果下载的画质本来就不高&#xff0c;再加上两次录屏&#xff0c;画质比较渣。首先确认工程所需要的依赖&#xff1a;python3ten…

让 步( 写的太好了!)

一个不懂得为亲人让步&#xff0c;为朋友让步&#xff0c;为爱人让步&#xff0c;为合作伙伴让步的人&#xff0c;是缺乏胸襟的人&#xff0c;最无能和不可交的人。试问一个连自己人都斤斤计较的人可交往吗&#xff01;长不大的人最重要的标志&#xff0c;就是跟自己人&#xf…

Android学习手记(2) Activity生命周期

1. 单个Activity的生命周期 当只有一个Activity的时候&#xff0c; 首先执行onCreate->onStart->onResume。 这时&#xff0c; 窗口便显示在屏幕上了。 然后我们按返回键退到桌面的时候&#xff0c;便执行onPause->onStop。这时候&#xff0c; 如果我们在最近使用程序…

MySQL二级比office二级_如何快速拿到计算机office二级

计算机二级考试是全国计算机等级考试(简称NCRE)四个等级中的一个等级&#xff0c;考核计算机基础知识和使用一种高级计算机语言编写程序以及上机调试的基本技能。计算机二级考试采用全国统一命题、统一考试的形式。多被国企和大型企业考核员工薪资的一个标准同时也是在信息化时…

墙角的父亲(一篇让千万人潸然泪下好文)

前言&#xff1a;拥有思想的瞬间&#xff0c;是幸福的&#xff1b;拥有感受的快意&#xff0c;是幸福的&#xff1b;拥有父爱也是幸福的。帮老乡大将搬家。在整理一堆旧书籍的时候&#xff0c;大将蹲在地上呜呜大哭起来。大将打开的是一个笔记本&#xff0c;上面记着日常开支&a…

移动广告效果监测

android渠道包自动化验证 酷传应用统计 友盟统计分析平台 机锋统计 怎样监控移动互联网广告的效果 talkingdata AD tracking转载于:https://www.cnblogs.com/terrylin/p/4865462.html

react遍历对象的值_React 原理之实现 createElement 和 render 方法

前言在 React 中&#xff0c;我们都知道可以写 jsx 代码会被编译成真正的 DOM 插入到要显示的页面上。这具体是怎么实现的&#xff0c;今天我们就自己动手做一下。实现 createElement 方法这个方法平时开发我们并不会用到&#xff0c;因为它是经 babel 编译后的代码&#xff0c…

成熟就是深谙世故却不世故

对于一个打小在农村长大的孩子而言&#xff0c;被夸作“早熟”是一种荣耀。它意味着你足够懂事&#xff0c;可以分担父母的一些忧愁。但这也是一个怪圈&#xff0c;因为你常要背负这种光环去做一些超乎自己年龄的事&#xff0c;强迫自己变得坚忍、不可战胜。那年&#xff0c;我…

2015/10/9 Python核编初级部分学习总结

终于在十一长假之后的两天看完了《Python核心编程》的初级部分。虽然到后来两章&#xff0c;类和环境看得越来越慢&#xff0c;越来越难以理解。很多东西只能靠强记&#xff0c;也没办法真正掌握了&#xff0c;我想了想&#xff0c;还是不强迫自己去背下这些知识&#xff0c;累…

SQl常用语句总结(持续更新……)

创建示例数据库USE master;GOIF DB_ID (Nmytest) IS NOT NULLDROP DATABASE mytest;GOCREATE DATABASE mytest;GOUSE mytest;GOIF OBJECT_ID(Ndbo.Orders) IS NOT NULLDROP TABLE dbo.Orders;GOCREATE TABLE dbo.Orders(ProductID INT NOT NULL,MadeFrom CHAR(20),Sales MONEY …

大话设计模式笔记 享元模式

享元模式&#xff08;Flyweigh&#xff09;&#xff0c;运用共享技术有效地支持大量细粒度的对象。 package flyweight;//可以接受并作用于外部状态 public abstract class Flyweight {public abstract void operation(int extrinsicState);} package flyweight;//为内部状态增…

python12岁_12岁。Python操作Excel,12Python,excel

excel在Python中的应用存测试数据有的时候大批量的数据&#xff0c;存到txt文件里显然不是最佳的方式&#xff0c;我们可以存到excel文件里面&#xff0c;第一方便我们存储数据和做数据&#xff0c;一方面方便我们读取数据&#xff0c;比较明朗。测试的时候就从数据库中读取出来…

什么叫工作到位?很深刻!

1、汇报工作说结果不要告诉老板工作过程多艰辛&#xff0c;你多么不容易&#xff01;老板不傻&#xff0c;否则做不到今天。举重若轻的人老板最喜欢&#xff0c;一定要把结果给老板&#xff0c;结果思维是第一思维。2、请示工作说方案不要让老板做问答题&#xff0c;而是要让老…

react 给一个引用的组件添加新属性_高阶组件在React中的应用

高阶组件的定义接受React组件作为输入&#xff0c;输出一个新的React组件。概念源自于高阶函数&#xff0c;将函数作为参数&#xff0c;或者输出一个函数&#xff0c;如map&#xff0c;reduce&#xff0c;sort。 用haskell的函数签名来表示&#xff1a; hocFactory:: W: React.…

杂想 · 警醒

今天无意间看到CSDN上一位大牛师姐的博客&#xff0c;真的是好惊讶啊&#xff01;很多时候总是太过自以为是&#xff0c;以为自己做不到的事情别人也很难做到。恰恰相反&#xff0c;成功总是伴随那些谦逊、努力、认真的人的&#xff01;曾几何时&#xff0c;自己或许也是一个认…

好好的活,简简单单过!

生命&#xff0c;每个人只有一次&#xff0c;或长或短&#xff1b;生活&#xff0c;每个人都在继续&#xff0c;或悲或欢&#xff1b;人生&#xff0c;每个人都在旅途&#xff0c;或起或伏。人无完人&#xff0c;事无完美&#xff0c;有些小人&#xff0c;你不须计较&#xff0…

SQL Server 中创建数据库、更改主文件组示例

以下示例在 SQL Server 实例上创建了一个数据库。该数据库包括一个主数据文件、一个用户定义文件组和一个日志文件。主数据文件在主文件组中&#xff0c;而用户定义文件组包含两个次要数据文件。ALTER DATABASE 语句将用户定义文件组指定为默认文件组。然后通过指定用户定义文件…