[英]Do I need to link tables together when making a MySQL query?
如果我有一個包含多個表的數據庫(sakila),並且我想查詢彼此相關的多個列,是否需要使用諸如
SELECT city.city, actor.first_name, actor.last_name
FROM city, actor, staff, address, inventory, film_actor, store
WHERE city.city_id = address.city_id AND
address.address_id = staff.address_id AND
staff.staff_id = store.store_id AND
store.store_id = inventory.store_id AND
inventory.film_id = film_actor.film_id AND
film_actor.actor_id = actor.actor_id
或者我可以選擇它們而不將這些鍵鏈接在一起,就像這樣:
SELECT city.city, actor.first_name, actor.last_name
FROM city, actor
編輯:
因此,由於我想查看演員來自哪個城市,我應該使用內部聯接,因為交叉聯接將使每個城市與每個演員相匹配,而不管它們是否真正相關?
是。 您將必須使用JOIN命令。
例如
SELECT c.city, a.first_name, a.last_name
FROM city c
INNER JOIN address ad ON c.city_id = ad.city_id
INNER JOIN staff s ON ad.address_id = s.address_id
INNER JOIN store st ON s.store_id = st.store_id
INNER JOIN inventory i ON st.store_id = i.store_id
INNER JOIN film_actor fa ON i.flim_id = fa.film_id
INNER JOIN actor a ON fa.actor_id = a.actor_id
相互關聯的多個列是什么意思? 您能否進一步說明,進行選擇查詢的正常方法是這樣的
$sql= "Select column name FROM tablename ";
或者像
$sql="Select column name FROM tablename Where column name LIKE '%%' ";
您可以通過執行另一個查詢(例如$ sql,$ sql2等)來查詢相關字段。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.