Mysql 内部连接问题
MYSQL 好的,问题是,我认为这很简单,但我没有弄对。我已通过URL将学校名称传递给我,现在我需要查询:Mysql 内部连接问题,mysql,join,Mysql,Join,MYSQL 好的,问题是,我认为这很简单,但我没有弄对。我已通过URL将学校名称传递给我,现在我需要查询: 通过使用学校名称,我需要获得CCOLOR和CCNAME 您的问题不清楚,因此答案只能是近似的。 CREATE TABLE college ( id SERIAL PRIMARY KEY, SCHOOL VARCHAR(100), CColor VARCHAR(100), CCmascot VARCHAR(100) ); CREATE T
通过使用学校名称,我需要获得CCOLOR和CCNAME 您的问题不清楚,因此答案只能是近似的。
CREATE TABLE college
(
id SERIAL PRIMARY KEY,
SCHOOL VARCHAR(100),
CColor VARCHAR(100),
CCmascot VARCHAR(100)
);
CREATE TABLE mats
(
id SERIAL PRIMARY KEY,
CColor VARCHAR(100),
CCNAME VARCHAR(100)
);
两个表中都需要可以用于联接它们的列,即具有值的列,这些值可用于标识父表(学院)中的记录何时与子表(mats)中的记录匹配。理想情况下,子表映射中应该有一个外键,可以命名为college_id(这使用引用父表的命名约定)
给出一个像上面提到的那样的外键,您的查询将变成
SELECT college.CColor FROM college
INNER JOIN mats ON college.CColor = mats.CColor
AND mats.CColor = 'your query'
选择
学院颜色
从…起
大学内部连接垫
on college.id=mats.college\u id
哪里
mats.ccname=“”;
假设ccname是ccolor的名称。如果我理解正确,您有学院名称,您希望了解颜色名称 链接属性为CColor 您的查询应该有点像这样:
select
college.ccolor
from
college inner join mats
on college.id = mats.college_id
where
mats.ccname = "<<COLOUR_DESIRED>>";
一天中的数据库提示:使用外键约束,否则会出现数据损坏问题,这样人们就不知道列之间的关系
当您知道关系建模的原因和原因后,您可能会发现有必要不使用它们(尽管除非您有很好的理由,否则不建议这样做),但现在,使用它们来明确定义表之间的关系
否则你的问题就有点像问厨师,“我有一些没有标签的罐装食物,我认为是牛至。我怎么做两个人的浪漫晚餐?”(嗯……罐装的是什么?)
外键加密:
加入文档:CCNAME和CCColor是否相同?
select
m.ccname, m.ccolor
from
mats m
inner join
college c
on
c.ccolor = m.ccolor
where
c.school = @myVariable