MySQL需要从一个表到另一个表中选择一行,在select语句中将生成

MySQL需要从一个表到另一个表中选择一行,在select语句中将生成,mysql,Mysql,我的第一个表格有系名和博士学位数。我的第二张桌子上有教授在特定部门的名字。我需要把那些博士学位不足50个的系里的教授拉过来 CREATE TABLE Dept ( dname VARCHAR(100), numphds INT ); INSERT INTO Dept VALUES ( '"Chemical Engineering"', 32 ); INSERT INTO Dept VALUES ( '"Civil Engineer

我的第一个表格有系名和博士学位数。我的第二张桌子上有教授在特定部门的名字。我需要把那些博士学位不足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结果中获得教授姓名,我会给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);
第二,您是否意识到文本字段中有撇号

要选择它们,使用这种格式,我将使用查询加入

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

这是你的护照

你现在得到了什么?有错误吗?尝试在表名和列名中保持相同的大小写,以便在查询中使用Dept而不是Dept。这是一个基本的联接查询。你在学习SQL吗?如果是这样的话,你应该在你的问题中说明这一点。如果没有,您应该学习一些SQL,以便有效地使用数据库。谢谢!我对这一点还不熟悉,正在努力了解基本知识。我一直在通过LYNDA.com学习,最近被告知使用此网站帮助我澄清一些问题。我喜欢小提琴,谢谢你介绍我。我用撇号在我的结果中有一个不同的外观。我以为我必须用外键才能得到答案,但我知道你没有用外键。我将不得不进一步研究这个JOIN语句。嗨@Mel_G,使用外键对于数据一致性和规范化来说是一个好主意,但要实现更大的目标需要迈出一小步: