Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/78.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
Mysql 如何通过连接的表获取值?_Mysql_Sql - Fatal编程技术网

Mysql 如何通过连接的表获取值?

Mysql 如何通过连接的表获取值?,mysql,sql,Mysql,Sql,我有这样一个问题。我得到了两个表,第一个表包含注释,第二个表包含注释所在的id注释和相册id > CREATE TABLE `review` (`id` VARCHAR(32) NOT NULL, > `user_id` VARCHAR(32) NOT NULL,`comment` MEDIUMTEXT NOT NULL, > PRIMARY KEY (`id`) ) > CREATE TABLE `review_album` (`review_id` VAR

我有这样一个问题。我得到了两个表,第一个表包含注释,第二个表包含注释所在的id注释和相册id

> CREATE TABLE `review` (`id` VARCHAR(32) NOT NULL,
>   `user_id` VARCHAR(32) NOT NULL,`comment` MEDIUMTEXT NOT NULL,
>   PRIMARY KEY (`id`) )


> CREATE TABLE `review_album` (`review_id` VARCHAR(32) NOT NULL,
> `album_id` VARCHAR(32) NOT NULL, PRIMARY KEY (`review_id`,
> `album_id`),  INDEX `review_album_review_idx` (`review_id`) )
我试着这样做:

SELECT * from review_album JOIN review WHERE album_id = '300001' 
但我得到了两次结果


如何获取特定唱片集id的评论文本?

一般语法为:

SELECT column-names
  FROM table-name1 JOIN table-name2 
    ON column-name1 = column-name2
 WHERE condition
具有内部的通用语法为:

SELECT column-names
  FROM table-name1 INNER JOIN table-name2 
    ON column-name1 = column-name2
 WHERE condition
注意:内部关键字是可选的:它是默认的,也是最常用的联接操作


参考:

一般语法为:

SELECT column-names
  FROM table-name1 JOIN table-name2 
    ON column-name1 = column-name2
 WHERE condition
具有内部的通用语法为:

SELECT column-names
  FROM table-name1 INNER JOIN table-name2 
    ON column-name1 = column-name2
 WHERE condition
注意:内部关键字是可选的:它是默认的,也是最常用的联接操作

引用:

尝试使用InnerJoin

尝试使用InnerJoin


您忘记了on条件,每次有连接时,最好指定连接条件,否则所有连接都可用。 霍温解决方案

SELECT * 
FROM review_album RA 
JOIN review R ON RA.column_fk = R.column_fk 
WHERE album_id = '300001' 

这里是join的文档

您忘记了on条件,每次有一个join时,您最好指定join的条件,否则您就有了所有可用的连接。 霍温解决方案

SELECT * 
FROM review_album RA 
JOIN review R ON RA.column_fk = R.column_fk 
WHERE album_id = '300001' 

这里是join的文档

通常情况下,你会在没有ON子句的情况下连接到某个对象上,你会得到一个交叉连接/笛卡尔积。通常情况下,你会在没有ON子句的情况下连接到某个对象上,你会得到一个交叉连接/笛卡尔积。没有类型的连接被解释为内部连接,但是如果你想使用内部连接,最好写内部连接,因为它更清晰,但是如果你想另外管理null,你可以选择左外部连接、右外部连接或完全外部连接。我认为您可以在我在回复中传递的文档中找到所有内容。不带类型的连接被解释为内部连接,但是如果您想使用内部连接,最好编写内部连接,因为它更清楚,但是如果您想另一个空值管理,您可以选择左外部连接、右外部连接或完全外部连接。我想你可以在我在回复中传递的文档中找到所有内容