内联接在SQL92中 ON 暗示联接添加,可选的WHERE子句暗示过滤前提,如开篇的示例就是一个多表的内联接,我们在看一个简朴的示例: 查询后果大于80分的门生学号,门生姓名和后果:
- mysql> SELECT
- -> stu.no, stu.name , s.score
- -> FROM student stu JOIN score s ON sstu.no = s.s_no
- -> WHERE s.score > 80;
- +------+-------+-------+
- | no | name | score |
- +------+-------+-------+
- | S001 | Sunny | 98 |
- | S003 | Kevin | 88 |
- +------+-------+-------+
- 2 rows in set (0.00 sec)
上面按语义的逻辑是:
- 第一步:先举办student和score的内毗连,如下:
- mysql> SELECT
- -> stu.no, stu.name , s.score
- -> FROM student stu JOIN score s ON sstu.no = s.s_no ;
- +------+-------+-------+
- | no | name | score |
- +------+-------+-------+
- | S001 | Sunny | 80 |
- | S001 | Sunny | 98 |
- | S001 | Sunny | 76 |
- | S003 | Kevin | 78 |
- | S003 | Kevin | 88 |
- | S003 | Kevin | 68 |
- +------+-------+-------+
- 6 rows in set (0.00 sec)
第二步:对内联功效举办过滤, score > 80 获得,如下最终功效:
- -> WHERE s.score > 80;
- +------+-------+-------+
- | no | name | score |
- +------+-------+-------+
- | S001 | Sunny | 98 |
- | S003 | Kevin | 88 |
- +------+-------+-------+
- 2 rows in set (0.00 sec)
(编辑:湖南网)
【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!
|