1
我有一個很大的電影數據庫,我想按年份和類型搜索電影。MySQL左連接1結果爲非常大的數據庫
我有3個表來處理:
1. movies (Key TITLE_ID)
2. movie2genre (TITLE_ID + GENRE_ID)
3. genre (Key GENRE_ID)
電影:
+----------+---------------+------+
| TITLE_ID | TITLE | YEAR |
+----------+---------------+------+
| 10001 | Matrix | 1999 |
| 10002 | Walk on Water | 2004 |
+----------+---------------+------+
movie2genre:
+----------+----------+
| TITLE_ID | GENRE_ID |
+----------+----------+
| 10001 | 1 |
| 10001 | 2 |
| 10002 | 2 |
| 10002 | 4 |
| 10001 | 3 |
+----------+----------+
流派:
+----------+-----------+
| GENRE_ID | GENRE_TXT |
+----------+-----------+
| 1 | Action |
| 2 | Adventure |
| 3 | Thriller |
| 4 | Fantasy |
+----------+-----------+
用戶發送1999年的類型冒險或驚悚的請求。
如何在1個優化查詢中查找所有電影?
結果應該是:
+----------+--------+------+-----------+
| TITLE_ID | TITLE | YEAR | GENRE_TXT |
+----------+--------+------+-----------+
| 10001 | Matrix | 1999 | Action |
+----------+--------+------+-----------+
我不在乎哪個流派被選中,只是這部電影爲體裁的1用戶要求。
我會刪除LIMIT ... OP需要所有電影...只是他的示例數據只會從顯示內容返回1。 (但upvoted準確查詢,否則) – DRapp
@DjRapp感謝您指出了這一點,爲upvote。 –
謝謝!工作很好。我只是添加「GROUP BY m.TITLE_ID」以獲得1個結果的電影。 – TheWiz