gpt4 book ai didi

mysql - SQL SELECT 查询 2 个表

转载 作者:行者123 更新时间:2023-11-30 22:29:18 24 4
gpt4 key购买 nike

我对sql有基本的了解,建了一个24小时要提交的小数据库。我在这里在 sqlfiddle 中创建了一个模式 http://www.sqlfiddle.com/#!9/28fcd

我需要运行一个查询来搜索教职员工(来自表 occurrence 或 teaching)并返回该教职员工教授的类(class)的 module_code 和 module_title(来自表 course)。我花了一天半的时间试图解决这个问题(这可能让我很模糊),现在迫切需要一些帮助。

表架构如下。如果这不是事情的完成方式,我们深表歉意。

CREATE TABLE course (
module_code VARCHAR (10),
module_title VARCHAR (40),
PRIMARY KEY (module_code));

CREATE TABLE teaching (
staff VARCHAR (40),
room VARCHAR (10),
PRIMARY KEY (staff));

CREATE TABLE occurrence (
module_code VARCHAR (10),
Instance VARCHAR (1),
staff VARCHAR (40),
year INT (1),
hours INT (2),
PRIMARY KEY (instance, module_code),
FOREIGN KEY (staff) REFERENCES teaching (staff));

INSERT INTO teaching VALUES
('Louise Ashby','C2-07a'),
('Abdul Razak','C2-09'),
('Brennen Tighe','C2-06'),
('Andrew Parker','C2-04'),
('Tim Goddard','C2-04');

INSERT INTO course VALUES
('CPU4000','Core Skills'),
('CPU4003','Introduction to Programming'),
('CPU4005','Networking Fundamentals');

INSERT INTO occurrence VALUES
('CPU4000','A','Louise Ashby',1,5),
('CPU4000','B',NULL,1,0),
('CPU4000','C',NULL,1,0),
('CPU4003','A','Abdul Razak',1,6),
('CPU4003','B','Brennen Tighe',1,6),
('CPU4003','C','Andrew Parker',1,6),
('CPU4005','A','Tim Goddard',1,0),
('CPU4005','B',NULL,1,0),
('CPU4005','C',NULL,1,0);

我使用的 SQL 有点像:选择 module_title, module_codeFROM 当然,发生WHERE occurrence.staff = 'Louise Ashby';

这告诉我字段列表中的列“module_code”不明确

最佳答案

查询如下:

select c.* from course c
inner join occurrence o on o.module_code = c.module_code
where o.staff = 'Louise Ashby'

基于您的模式。但是,在现实世界的应用程序中,您不会使用这样的模式。

关于mysql - SQL SELECT 查询 2 个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34301246/

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