MySQL cross join应用案例

   2024-10-02 9900
核心提示:假设我们有两个表,一个是students表,包含学生的姓名和学号,另一个是courses表,包含课程的名称和课程号。我们希望得到一个包

假设我们有两个表,一个是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_nameFROM studentsCROSS JOIN courses;

这将得到如下结果集:

student_name | course_name-------------|------------Alice        | MathAlice        | ScienceAlice        | HistoryBob          | MathBob          | ScienceBob          | HistoryCharlie      | MathCharlie      | ScienceCharlie      | History

在这个例子中,我们使用CROSS JOIN操作获取了所有学生和所有课程的组合。这种操作在需要获取多个表之间的所有可能组合时非常有用。

 
举报打赏
 
更多>同类物流大全
推荐图文
推荐物流大全
点击排行

网站首页  |  关于我们  |  联系方式 | 网站留言    |  赣ICP备2021007278号