SQL 自连接 (self join)
车站表:
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
查询结果:每条公交线路的任意两个可联通的车站。
二、用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, stopsS2
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
’
SQL 自连接 (self join)相关推荐
- SQL的连接(join)有哪些常见形式?解释一下?解释 SQL 的 left join 和 right join?
SQL的连接(join)有哪些常见形式?解释一下?解释 SQL 的 left join 和 right join? SQL的连接(join)有哪些常见形式? sql连接查询:把多张表的列组合在一起,产 ...
- SQL自连接查询原理及完全连接用法
SQL自连接查询语句 select * from customers c1,customer c2; 所以最终的自连接表,如下所示: 完全连接: 完全连接,是通过关键字full join连接两张表,返 ...
- SQL 中left join ,inner join,right join的区别
2019独角兽企业重金招聘Python工程师标准>>> sql中存在有左连接 插入 右连接 sql语句 left join ,inner join,right join 进行 wh ...
- sql之left join、right join、inner join的区别,连接自己时的查询结果测试
sql之left join.right join.inner join的区别 left join(左联接) 返回包括左表中的所有记录和右表中联结字段相等的记录 right join(右联接) 返回包 ...
- sql server left join 重复数据原因图
sql server left join 重复数据原因图 网购从这里开始 ( 物美价廉还等什么?!!! )
- LINQ体验(6)——LINQ to SQL语句之Join和Order By
LINQ体验(6)--LINQ to SQL语句之Join和Order By Join操作 适用场景:在我们表关系中有一对一关系,一对多关系,多对多关系等.对各个表之间的关系,就用这些实现对多个表的操 ...
- SQL开发技巧 join从句
SQL标准中 join的类型 1.内连接 (INNER) 2.全外连接(FULL OUTER) JOIN 3.左外连接(LEFT OUTER) 4.右外连接 (RIGHT OUTER) 5.交叉连接 ...
- SQL中cross join,left join,right join ,full join,inner join 的区别
http://blog.csdn.net/sgivee/article/details/5081350 SQL中cross join,left join,right join ,full join,i ...
- SQL 中 left join、right join、inner join 的区别
SQL 三个 join 的含义 left join(左联接):返回左表中的所有记录以及和右表中的联接字段相等的记录. right join(右联接):返回右表中的所有记录以及和左表中的联接字段相等的记 ...
- SQL语句inner join,left join ,right join连接的不同之处
SQL语句inner join,left join ,right join连接的不同之处 表A记录如下: aID aNum 1 a20050111 2 a20050112 3 a20050113 4 ...
最新文章
- Docker Swarm Beta 发布,Docker 集群管理
- 关于核定区域电网2018—2019年输电价格的通知
- linux卸载docker redis,【Docker】Redis在docker上的安装、启动、停止、删除操作
- 带有ActiveMQ的JMS
- 【渝粤题库】陕西师范大学202801 中国古代文学(五) 作业
- mysql数据排序指令_MySQL 排序 | 菜鸟教程
- yii2 mysql in_yii2 mysql数据库读写分离配置
- Springboot中几个层的功能总结
- Python 操作redis 常用方法
- mysql连接不用数据库名称_C++连接MySQL数据库
- 微信授权登录实现分析
- 使用WIFIPR跑握手包,破解wifi密码
- linux批量解压压缩包
- linux gpt分区挂载,GPT分区和挂载
- 无法访问该文件可能已损坏 或者服务器,win7系统打开xls文件提示无法访问文件可能损坏的解决方法...
- 一 Django模型层简介
- 计算机excel怎么删除重复项,excel怎么删除重复项
- 计算机安全标准是什么,计算机安全等级划分标准
- java8之CompletableFuture
- 不平衡数据处理方法总结(学习笔记)
热门文章
- 如何给CSDN博客添加个人微信公众号二维码或自定义栏目
- 英语 | Day 27、28 x 句句真研每日一句(断开、嵌套)
- Oracle创建视图view权限不足
- 处理创建Maven项目时Maven插件无法解析的错误
- 渲染管线中几种基础的坐标空间(对象空间、世界空间、相机空间(观察空间)、NDC空间、裁剪空间、屏幕空间)
- 放眼看世界(故宫)+故宫冷知识
- json-bigint
- 专利ppt结束语_Oraclevs谷歌-专利阶段的结语,Oracle屈服
- 科烨盈创祝贺2015中国呼叫中心及企业通信大会圆满成功
- ORACLE解锁record is locked by another user