前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >sql自连接经典示例

sql自连接经典示例

作者头像
java达人
发布2018-01-31 17:03:55
1.2K0
发布2018-01-31 17:03:55
举报
文章被收录于专栏:java达人java达人

车站表:   stops(id, name)

公交线路表:   route(num, company, pos, stop)

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

代码语言:js
复制
SELECT*FROMroute R1, route R2WHERER1.num=R2.numANDR1.company=R2.company

查询结果:每条公交线路的任意两个可联通的车站。

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

代码语言:js
复制
SELECT*FROMroute R1, route R2WHERER1.stop=R2.stop;

查询结果:共用同一车站的所有公交线。

从这两个例子我们能看出,自连接的语法结构非常简单,但语意结果往往不是那么容易理解。就我们这里所列出的两个表,如果运用得当,能解决非常多实际问题,例如,任意两个站点之间怎么换乘。

代码语言:js
复制
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’
本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2015-09-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 java达人 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档