Mysql 如何通过连接的表获取值?
我有这样一个问题。我得到了两个表,第一个表包含注释,第二个表包含注释所在的id注释和相册idMysql 如何通过连接的表获取值?,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
> 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,你可以选择左外部连接、右外部连接或完全外部连接。我认为您可以在我在回复中传递的文档中找到所有内容。不带类型的连接被解释为内部连接,但是如果您想使用内部连接,最好编写内部连接,因为它更清楚,但是如果您想另一个空值管理,您可以选择左外部连接、右外部连接或完全外部连接。我想你可以在我在回复中传递的文档中找到所有内容