每个城市都有其所属国家:
CallbackQueryHandler
以下内容:
create table COUNTRY
(
ID number not null,
NAME varchar,
primary key (ID)
);
create table CITY
(
ID number not null,
NAME varchar,
COUNTRY_ID number not null,
primary key (ID)
);
alter table CITY
add constraint CITY_COUNTRY_FK
foreign key (COUNTRY_ID) references COUNTRY (ID);
等同于:
select *
from CITY c
left outer join COUNTRY ctr on ctr.ID = c.COUNTRY_ID
where ...;
因为COUNTRY_ID是select *
from CITY c
inner join COUNTRY ctr on ctr.ID = c.COUNTRY_ID
where ...;
和foreign key
?
答案 0 :(得分:2)
在这种情况下,根据数据模型,left join
是多余的。 NOT NULL
约束意味着每个城市都有一个country_id
。外键约束意味着country_id
是有效的并且在country
表中。
结合起来,这些约束表明city
中的每一行在country
中具有匹配的行。当所有键都匹配时,left join
等效于inner join
。
答案 1 :(得分:1)
是的,如果您确定所有条目都具有相同的含义,那么在所有情况下,左侧都将等于内部。
正如您所提到的,每个城市都有自己的国家,所以会得到相同的结果