SELECT查詢不但可以從一張表查詢資料,還可以從多張表同時查詢資料。查詢多張表的文法是:SELECT * FROM 。
例如,同時從students表和classes表的“乘積”,即查詢資料,可以這麼寫:

這種一次查詢兩個表的資料,查詢的結果也是一個二維表,它是students表和classes表的“乘積”,即students表的每一行與classes表的每一行都兩兩拼在一起傳回。結果集的列數是students表和classes表的列數之和,行數是students表和classes表的行數之積。
這種多表查詢又稱笛卡爾查詢,使用笛卡爾查詢時要非常小心,由于結果集是目标表的行數乘積,對兩個各自有100行記錄的表進行笛卡爾查詢将傳回1萬條記錄,對兩個各自有1萬行記錄的表進行笛卡爾查詢将傳回1億條記錄。
你可能還注意到了,上述查詢的結果集有兩列id和兩列name,兩列id是因為其中一列是students表的id,而另一列是classes表的id,但是在結果集中,不好區分。兩列name同理
要解決這個問題,我們仍然可以利用投影查詢的“設定列的别名”來給兩個表各自的id和name列起别名:
多表查詢時,要使用表名.列名這樣的方式來引用列和設定别名,這樣就避免了結果集的列名重複問題。但是,用表名.列名這種方式列舉兩個表的所有列實在是很麻煩,是以SQL還允許給表設定一個别名,讓我們在投影查詢中引用起來稍微簡潔一點: