假設我們有兩個表,一個是students
表,包含學生的姓名和學號,另一個是courses
表,包含課程的名稱和課程號。我們希望得到一個包含所有學生和所有課程的組合的結果集。
首先,創建students
表并插入一些數據:
CREATE TABLE students (
student_id INT PRIMARY KEY,
student_name VARCHAR(50)
);
INSERT INTO students (student_id, student_name) VALUES
(1, 'Alice'),
(2, 'Bob'),
(3, 'Charlie');
然后創建courses
表并插入一些數據:
CREATE TABLE courses (
course_id INT PRIMARY KEY,
course_name VARCHAR(50)
);
INSERT INTO courses (course_id, course_name) VALUES
(101, 'Math'),
(102, 'Science'),
(103, 'History');
現在,使用CROSS JOIN
操作來獲取所有學生和所有課程的組合:
SELECT students.student_name, courses.course_name
FROM students
CROSS JOIN courses;
這將得到如下結果集:
student_name | course_name
-------------|------------
Alice | Math
Alice | Science
Alice | History
Bob | Math
Bob | Science
Bob | History
Charlie | Math
Charlie | Science
Charlie | History
在這個例子中,我們使用CROSS JOIN
操作獲取了所有學生和所有課程的組合。這種操作在需要獲取多個表之間的所有可能組合時非常有用。