Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SQL内部联接表语法_Sql_Database_Inner Join - Fatal编程技术网

SQL内部联接表语法

SQL内部联接表语法,sql,database,inner-join,Sql,Database,Inner Join,我正在尝试执行一个sql查询,其中我有一个类id,使用这个类id我需要获取用户id,然后在另一个表上使用该用户id来获取用户信息,例如名字和姓氏 这就是我的桌子的样子: 表名:类列表 表名:学生 class.UID和student.UID之间的关系设置正确 这是我迄今为止尝试过但不起作用的方法(我是PHP和SQL新手): 此查询的正确sql语法是什么 附加注释 ClassID源于名为class的表,UID源于名为student的表调用,两者都有各自的关系设置。Working fiddle:

我正在尝试执行一个sql查询,其中我有一个类id,使用这个类id我需要获取用户id,然后在另一个表上使用该用户id来获取用户信息,例如名字和姓氏

这就是我的桌子的样子:

表名:类列表

表名:学生

class.UID和student.UID之间的关系设置正确

这是我迄今为止尝试过但不起作用的方法(我是PHP和SQL新手):

此查询的正确sql语法是什么

附加注释
ClassID源于名为class的表,UID源于名为student的表调用,两者都有各自的关系设置。

Working fiddle

你桌上的名字错了(根据你的帖子)


而且,我将
Where
更改为
,因为它是一个连接条件

它是否引发任何异常?您正在使用
内部连接进行连接
,因此如果您在
Where
子句或
ON
子句中添加条件,则没有任何区别。@JW在这种情况下使用
的正确方法是因为连接表上的条件?不是错误,而是想法相同。如果您使用的是
外部联接
,这才重要。对我来说,创建两个查询,其中第一个查询从类列表表获取UID,然后我执行另一个查询,使用学生表上的UID获取我需要的信息,会更容易吗?在这种特殊情况下,可能是这样。正确的做法是添加另一个名为
class
的表,该表只包含
classID
className
字段,然后可以进行适当的联接。
$result = mysqli_query($con, "SELECT * FROM student INNER JOIN classlist ON student.UID=classlist.UID WHERE classlist.ClassID='$classID'");
$result = mysqli_query($con, "SELECT * FROM student INNER JOIN class ON student.UID=class.UID AND class.ClassID='$classID'");