MySQL 是一種關系型數據庫管理系統,支持 SQL 語言,被廣泛應用于各種 Web 應用中。在 MySQL 中,我們可以通過多種方式查詢數據,其中一個比較常見的方式就是對兩個表進行聯合查詢。
在進行聯合查詢時,最簡單的情況就是兩個表不加任何條件地查詢。比如我們有兩個表,一個是學生表,一個是課程表,它們的結構如下:
CREATE TABLE `students` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(20) NOT NULL, `gender` varchar(6) NOT NULL, `age` int(11) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8; CREATE TABLE `courses` ( `id` int(11) NOT NULL AUTO_INCREMENT, `name` varchar(20) NOT NULL, `teacher` varchar(20) NOT NULL, PRIMARY KEY (`id`) ) ENGINE=InnoDB DEFAULT CHARSET=utf8;
現在我們想要查詢所有的學生以及他們所選的課程,可以使用下面的 SQL 語句:
SELECT students.name AS student_name, courses.name AS course_name FROM students, courses;
這條語句會返回一個結果集,其中包含了所有學生和他們所選的所有課程。但是由于沒有任何條件進行限制,所以這個結果集并沒有太大的實際意義,我們需要加上條件限制來篩選出更有用的數據。