MySQL社区

标题: mysql为何不给表取名的写法会显示其他表的数据? [打印本页]

作者: ChaunceyF    时间: 2017-3-13 17:16
标题: mysql为何不给表取名的写法会显示其他表的数据?
本帖最后由 ChaunceyF 于 2017-3-13 17:18 编辑

以下是同一个查询需求,用两种方式写查询语句,区别就是是否对表进行命名。
然而不对表进行命名的写法1,产出的结果会包含其他表的数据,这是为什么?


写法1: 结果如图1SELECT * from student
INNER JOIN score on student.s=score.s
inner join course on score.c=course.c
inner join teacher on course.t=teacher.t
where teacher.tname="张三"



写法2:结果如图2
select a.* from student a
INNER JOIN score b on a.s=b.s
INNER JOIN course c on b.c=c.c
INNER JOIN teacher d ON c.t=d.t
where d.tname="张三"

1.png (16.14 KB, 下载次数: 39)

1.png

2.png (10.71 KB, 下载次数: 35)

2.png

作者: kider    时间: 2017-3-14 17:28
不写就是全列




欢迎光临 MySQL社区 (http://www.mysqlpub.com/) Powered by Discuz! X3.2