MySQL:如何理解语句 - 实现​功能JOIN却没用函数JOIN

本文介绍了一种使用SQL语句来组合两支球队所有可能的比赛配对的方法。通过对比两种不同的SQL写法,即ANSI-89和ANSI-92标准,解释了如何通过不带JOIN的操作实现这一目标。此外,还提供了学习SQL的资源链接。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

背景 & 案例答案代码::

有一个名为team的数据表,只包含 name一列,有('a', 'b', 'c', 'd')四条记录,分别代表四只不同的球队。 要求:用一条SQL语句,来显示由2支球队组成的所有比赛组合。

SELECT a.name, b.name
FROM team a, team b
WHERE a.name <> b.name;

不明白的地方:

一、不带JOIN的写法是什么招式?

二、不应该是这样的吗?

SELECT a.name, b.name
FROM team AS a
INNER JOIN team AS b
ON a.name <> b.name;

解答:

它们表达相同功能的不同SQL书写形式。带JOIN的是依照ANSI-92,例题答案是ANSI-89。

越新的标准越好。因为它使得要JOIN的条件更接近jion之后的表格,特别是同时JION多个表的时候。更具有可读性、逻辑更清晰。


附注:如果你想免费合适地学习SQL,不妨参看下这些网站:

1. SQL基础在线练习网站:https://www.sqlteaching.com;

2. Stanford公开课

3.免费公开课 CourseraEdX。(学完后可以申领课程结业证书,支持加到LINKINED等招聘网站)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值