mysql自连接查询的sql语句_mysql 自连接

SELECT语句中的自连接。

到目前为止,我们连接的都是两张不同的表,那么能不能对一张表进行自我连接呢?答案是肯定的。

有没有必要对一张表进行自我连接呢?答案也是肯定的。

表的别名:

一张表可以自我连接。进行自连接时我们需要一个机制来区分一个表的两个实例。

在FROM clause(子句)中我们可以给这个表取不同的别名, 然后在语句的其它需要使用到该别名的地方

用dot(点)来连接该别名和字段名。

我们在这里同样给出两个表来对自连接进行解释。

爱丁堡公交线路,

车站表:

stops(id, name)

公交线路表:

route(num, company, pos, stop)

一、对公交线路表route进行自连接。

SELECT * FROM route R1, route R2

WHERE R1.num=R2.num AND R1.company=R2.company

我们route表用字段(num, company)来进行自连接. 结果是什么意思呢?

你可以知道每条公交线路的任意两个可联通的车站。

二、用stop字段来对route(公交线路表)进行自连接。

SELECT * FROM route R1, route R2

WHERE R1.stop=R2.stop;

查询的结果就是共用同一车站的所有公交线。这个结果对换乘是不是很有意义呢。

从这两个例子我们可以看出,自连接的语法结构很简单,但语意结果往往不是

那么容易理解。就我们这里所列出的两个表,如果运用得当,能解决很多实际问题,

例如,任意两个站点之间如何换乘。

SELECT R1.company, R1.num

FROM route R1, route R2, stops S1, stops S2

WHERE R1.num=R2.num AND R1.company=R2.company

AND R1.stop=S1.id AND R2.stop=S2.id

AND S1.name=‘Craiglockhart‘

AND S2.name=‘Tollcross‘

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

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

相关文章

Spring的Lifecycle

Lifecycle接口定义了每个对象的重要方法,每个对象都有自己的生命周期需求,如下: public interface Lifecycle { void start(); void stop(); boolean isRunning(); } 任何spring管理的对象都可以实现这个接口。那么,当Appl…

mysql aes密钥大于16位_aes秘钥限制问题解决办法

在oarcle jdk1.8上执行256位的aes秘钥加密报错如下:java.lang.RuntimeException: java.security.InvalidKeyException: Illegal key sizeat com.xx.opal.core.utils.aes.AESTool.encryptWithoutEncode(AESTool.java:33)at com.xx.opal.aes.AESTest.test(AESTest.java:19)at sun…

background-clip与background-origin

规定背景的绘制区域 浏览器支持 IE9、Firefox、Opera、Chrome 以及 Safari 支持 background-clip 属性。 注释:Internet Explorer 8 以及更早的版本不支持 background-clip 属性。IE9、Firefox、Opera、Chrome 以及 Safari 支持 background-clip 属性。 有三个值&am…

策略模式应用场景和uml_策略模式

策略模式应用场景和uml在最近的博客中,我收到了Wojciech Soczy?ski的评论,内容涉及在使用“不要问”(TDA)时如何使用“战略”模式实施单一责任原则(SRP)。 在某些时候,我打算进一步讨…

mysql建表时主键_mysql建表时怎么设置主键?

设置方法:在“CREATE TABLE”语句中,通过“PRIMARY KEY”关键字来指定主键,语法格式“字段名 数据类型 PRIMARY KEY [默认值]”或“[CONSTRAINT 约束名] PRIMARY KEY 字段名”。主键(PRIMARY KEY)的完整称呼是“主键约束”,是 MyS…

mysql的考试范围_数据库考试范围整理

填空:1.目前常用的数据库管理系统软件有Access 、SQL Sever和Oracle.2.数据实际上就是存储在某一种媒体上的能够被识别的物理符号。3.一个关系的逻辑结构就是一个二维表。4.对关系进行选择、投影或连接运算之后,运算的结果仍然是一个关系。5.在关系数据库…

Java EE 8 MVC:控制器的详细介绍

Java EE MVC是为Java EE 8规划并在JSR-371中指定的基于动作的新MVC框架。 这是我的Java EE 8 MVC教程的第二篇文章。 第一篇文章介绍了基础知识,并展示了如何开始使用 Java EE 8 MVC参考实现Ozark 。 在本文中,我们将更详细地介绍MVC控制器。 MVC控制器…

mysql htmlspecialchars_htmlSpecialchars和MySQL_REARY_EXECH_String是否保证PHP代码

当涉及到数据库查询时,始终尝试并使用准备好的参数化查询。这个mysqli和PDO图书馆支持这一点。这比使用转义函数(如mysql_real_escape_string.是,mysql_real_escape_string实际上只是一个字符串转义函数。这不是一颗神奇的子弹。它所要做的就是转义危险字符&#xf…

前端跨域问题的几种解决方案

前端跨域问题 一:同源策略   1.whats this     所谓同源是指,域名,协议,端口相同。当浏览器运行一个JS脚本时会进行同源检测,如果不同源是不能执行的。   2.源继承     来自about:blank,javasc…

在OpenShift上部署Java EE微服务

我昨天用WildFly Swarm在博客上发布了有关简单JAX-RS微服务的博客。 您学习了如何使用Maven构建一个所谓的“胖子”,还使用Maven Docker插件对我们的微服务进行了Docker化并在Docker Machine上本地运行。 这是在本地测试事物的好方法。 到目前为止,缺少的…

rocketmq 订阅组_必须先理解的RocketMQ入门手册,才能再次深入解读

推荐阅读一下下2020年后想跳槽?MQ、ZK、Nginx、Kafk等分布式技术你都掌握了?阿里架构师推荐学习的《RabbitMQ实战指南》,渣渣的你都看过吗?RocketMQ入门手册RocketMQ是一个分布式、队列模型的开源消息中间件,前身是Met…

关于返回按钮的事情

在微信的项目涉及到多个不同的项目间跳转那么头部的返回按钮怎么办呢? 在项目之间跳转还有在微信菜单进入页面时我们用了一个中转页进行参数处理和页面跳转判断 目前要用到code,userId等从后端写好的带参数的url到前端获取然后去调用后端的一个校验code和…

.net数据源控件绑定mysql_理解asp.net中DropDownList编辑数据源,绑定数据库数据。...

一、理解asp.net绑定数据库终于学习到了连接数据库部分的内容,杨中科老师视频看起来挺轻松的,如果是高清版就更ok了。我发现我学习新的编程语言会有一个特点,都想要赶紧学习数据库,数据就是一切,有了数据才能操作一切的…

jetty代理jetty_如何在Jetty中使用SPDY

jetty代理jettySPDY是Google提出的一种新协议,是针对网络的新协议。 SPDY与HTTP兼容,但尝试通过压缩,多路复用和优先级降低网页负载。准确地说,快速的目标是:( http://dev.chromium.org/spdy/spdy-whitepap…

五指棋,贪吃蛇,中国银行ATM源码链接

https://i.cnblogs.com/Files.aspx 转载于:https://www.cnblogs.com/weixiaoling/p/6083710.html

mysql select db error_select error:不能用DB-library(如isql)不能用DB-library(如isql

在我们php连接mssql出现select error:不能用DB-library(如isql)或odbc3.7或更早版本将ntext数据或仅使用Unicode排序规则的Unicode数据发送到客户端不能用DB-Library(如 ISQL)或 ODBC 3.7或更早版本将 ntext 数据Warning: mssql_query() [function.mssql- query]: message: 不能…

排序算法之二分治法

MERGE(A,p,q,r) n1 q-p1 n2 r-q let L[1..n_11] and R[1..n_21] be new arraysfor i 1 to n_1   L[i] A[pi-1]for j 1 to n_2   R[j] A[qj] L[n_11] \infty R[n_21] \infty i 1 j 1for k p to r   ifL[i] \leq R[j]     A[k] L[i]     i i1else A[k…

将Java EE与jOOQ结合使用的初学者指南

Java EE附带了自己的持久性API:JPA。 当您想要将RDBMS实体(表/关系)映射到Java实体(类)时,JPA最强大,主要遵循1:1映射策略。 其背后的想法是,业务逻辑通常并不像关系代数…

niva mysql_Nivacat for mysql是一种第三方提供的()_学小易找答案

【单选题】以下不包括在OSI环境中的是【单选题】以下不是直接推动新疆建省原因的选项是( ) (3.0分)【填空题】TOEFL stands for 1____________________________. More than four thousand American universities and other schools require students seeking 2________ to take…

清理SYSAUX表空间

1.查看SYSAUX表空间中数据分布情况 col SEGMENT_NAME for a30 set lines 999 select * from (select segment_name,PARTITION_NAME,segment_type,bytes/1024/1024 from dba_segments where tablespace_nameSYSAUX order by 4 desc) where rownum<10; 2.删除WRH$_LATCH_CHILD…