gpt4 book ai didi

MySQL-需要从一个表中选择一行到另一个表中,SELECT语句中会生成<#

转载 作者:行者123 更新时间:2023-11-30 22:56:23 26 4
gpt4 key购买 nike

我的第一个表有部门名称和 phd 的数量。我的第二张表在特定部门有教授的名字。我需要拉那些在 phd 少于 50 的部门的教授。

  CREATE TABLE Dept (
dname VARCHAR(100),
numphds INT
);

INSERT INTO Dept VALUES ( '"Chemical Engineering"', 32 );
INSERT INTO Dept VALUES ( '"Civil Engineering"', 88 );
INSERT INTO Dept VALUES ( '"Computer Sciences"', 47 );

CREATE TABLE Prof (
pname VARCHAR(100),
dname VARCHAR(100)
);

INSERT INTO Prof VALUES ( '"Brian, C."', '"Chemical Engineering"' );
INSERT INTO Prof VALUES ( '"Brown, S."', '"Civil Engineering"' );
INSERT INTO Prof VALUES ( '"Jones, J."', '"Computer Sciences"' );


SELECT dname, numphds FROM dept WHERE numphds <50;

/使用以下 SELECT 语句是我迷路的地方,似乎无法理解如何在我的 dname 和 numphds <50 的结果中获取教授姓名。我知道我不会使用 FROM DEPT 语句得到结果。任何想法/

最佳答案

就我个人而言,我会给 Dept 一个主键和索引列 deptId 并将其也放在 Prof 表中。这样,就无需加入文本字段。

CREATE TABLE Dept (
deptId INT NOT NULL AUTO_INCREMENT PRIMARY KEY,
dname VARCHAR(100),
numphds INT
);

INSERT INTO Dept VALUES ( 1, 'Chemical Engineering', 32 );
INSERT INTO Dept VALUES ( 2, 'Civil Engineering', 88 );
INSERT INTO Dept VALUES ( 3, 'Computer Sciences', 47 );

CREATE TABLE Prof (
pname VARCHAR(100),
dname VARCHAR(100),
deptId INT NOT NULL AUTO_INCREMENT PRIMARY KEY
);

INSERT INTO Prof VALUES ( 'Brian, C.', 'Chemical Engineering', 1);
INSERT INTO Prof VALUES ( 'Brown, S.', 'Civil Engineering', 2);
INSERT INTO Prof VALUES ( 'Jones, J.', 'Computer Sciences', 3);

其次,您是否意识到您的文本字段中有撇号?

要选择它们,使用这种格式,我会使用查询join

SELECT dept.dname, dept.numphds, prof.pname FROM dept join `prof` on prof.deptId = dept.deptId  WHERE dept.numphds <50;

这是您的 SQLFiddle demo .

关于MySQL-需要从一个表中选择一行到另一个表中,SELECT语句中会生成<#,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26206713/

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