【发布时间】:2011-10-21 03:41:43
【问题描述】:
我有 3 张桌子:
- film(film_id, filmname) PK (film_id)
- category(category_id, categoryname) PK (category_id)
- film_category(包含主键(film_id)和(category_id))
问题是我想从 category_id = 3 的电影表中选择所有filmname。
这个mysql选择怎么做?
【问题讨论】:
我有 3 张桌子:
问题是我想从 category_id = 3 的电影表中选择所有filmname。
这个mysql选择怎么做?
【问题讨论】:
select
film.filmname
from
film
join film_category
on film.film_id = film_category.film_id
where
film_category.category_id = 3
【讨论】:
SELECT filmname
FROM film NATURAL JOIN film_category
WHERE category_id = 3
【讨论】:
NATURAL JOIN 是 ANSI-92 连接语法中最糟糕的事情。
film 中有film_id。鉴于数据库的设置,这是最自然的编写方式。 (对不起双关语。)
people (id, first_name, last_name, father_id, mother_id, city_id),cities (id, name, mayor_id) - 一切是什么仍然很清楚。 cities.name 是城市的名称。 people.mother_id会让你通过她id找到妈妈。
CITIES.name - 更像是 c.name。再次 - 什么名字?第一,最后还是中间?我了解您的信念根深蒂固,但您可能不想再忽视相关细节,例如第三方、受人尊敬的设计测试以及其他事实。