簡體   English   中英

進行MySQL查詢時是否需要將表鏈接在一起?

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM