为了账号安全,请及时绑定邮箱和手机立即绑定

关于列和表的问题,难理解额

在视频中,老师写的代码为:

SELECT goods_id,goods_name,goods_price (这3个在tdb_goods表中) cate_name,brand_name(这2个不在tdb_name表中)FROM tdb_goods....

问题如下,SELECT 不是只查找 tdb_goods表中的记录吗?为何会查找并显示cate_name,brand_name?

那老师在课程中写的代码是否可以修改为我下面写的代码呢?求大神解答疑惑!

SELECT goods_id,goods_name,goods_price,cate_name,brand_name FROM tdb_goods_cates c 
INNER JOIN tdb_goods g ON c.cate_id=g.cate_id 
INNER JOIN tdb_goods_brands b ON c.brand_id=b.brand_id\G;
假如tdb_goods_cates中有brand_id,是否可用?


正在回答

3 回答

多表连接嘛,而且select后面的那些字段是指显示在结果中的字段,而不是非得从一张表里查。如果表a和表b有相同的字段,而你想把a表中的字段显示在结果中,就得使用a.字段名了。

1 回复 有任何疑惑可以回复我~
#1

z一刻 提问者

那select 列1,列2,.....from 数据表 1。 列1和列2等,它们不是要从数据表1中查找吗?因为from 数据表1呀
2017-12-21 回复 有任何疑惑可以回复我~
#2

Sean_Chou 回复 z一刻 提问者

不见得,不知道你有没有注意老师的PPT上有时候写的是“FROM table_references”,这个词指表的参照关系,如果是一张表的话那就没什么了;但是如果涉及多张表,比如使用连接了,那么就不是从一张表里查了,而是从表的参照关系里查了。 table_references可以是一张表;也可以是多张表,这时候要看做一个整体。 要摆脱认为FROM后面就是一张表的思维。
2017-12-21 回复 有任何疑惑可以回复我~
#3

z一刻 提问者 回复 Sean_Chou

有点理解了,谢谢你啊
2017-12-22 回复 有任何疑惑可以回复我~
#4

M__ 回复 Sean_Chou

其实这么理解也不完全对,FROM和JOIN分别标注了左表和右表,这个符号还是有它的意义的
2017-12-23 回复 有任何疑惑可以回复我~
#5

Sean_Chou 回复 M__

我是看到老师把后面的表作为一个整体来写了嘛,所以这样认为的,至于左表和右表,我觉得A JOIN B,就可以看出谁左谁右了
2017-12-23 回复 有任何疑惑可以回复我~
查看2条回复

多表连接成功后,退出数据库,重新进,表格恢复没链接之前的样子,什么情况?


0 回复 有任何疑惑可以回复我~

我想问一下INNER  JOIN tdb_goods_cates AS c ON g.cate_id=c.cate_id  这句话  g.cate_id=c.cate_id 相等时 为什么输出的是cate_name 而不是id

0 回复 有任何疑惑可以回复我~
#1

慕圣9101672

g,cate_id要和c.cate_id(主键)相等 打个比方 我去超市领取我的东西 我是g.cate_id 而我手里的号码牌就是c.cate_id 我要取的是我物品 而不是好不意义的号码牌 而c.cate_id是主键 就是个虚拟的代号而已 在值里面它没有任何意义 我这样说的对吗?
2018-03-24 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
与MySQL的零距离接触
  • 参与学习       397021    人
  • 解答问题       3350    个

本课程涵盖全部MySQL数据库的基础,学习MySQL数据库的基础知识

进入课程

关于列和表的问题,难理解额

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信