gpt4 book ai didi

mysql - 当一个表有很多引用时,高效地查询表

转载 作者:行者123 更新时间:2023-11-29 14:55:42 24 4
gpt4 key购买 nike

我有两个表:类(class)和讲师。

class
id: int
title: varchar(45)

instructor
id: int
class_id: int
name: varchar(45)

假设有两名讲师与一个类(class)相关联:

INSERT INTO `class` VALUES(1, 'Class Number 1');
INSERT INTO `instructor` VALUES (1, 1, 'John Smith');
INSERT INTO `instructor` VALUES (2, 1, 'Jane Smith');

如何查询包含讲师姓名的类(class)列表?我考虑过两种查询方式,并希望有一种更有效的方法。

  1. 每堂课查询一次

    类中选择*;SELECT * FROM instructor WHERE class_id=?;

  2. 将它们与多行中的同一类一起查询

    SELECT * FROM class c, instructor i, WHERE c.id = i.class_id GROUP BY c.id;

我希望以逗号分隔的类(class)列表输出。

最佳答案

在 MySQL 中,您可以使用 GROUP_CONCAT聚合函数。请注意these notes .

在大多数情况下,在您的两种方法中,后一种方法更快,因为许多查询会花费时间。

关于mysql - 当一个表有很多引用时,高效地查询表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4682268/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com