首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在MYSQL中,"->“操作符的功能是什么?

在MYSQL中,"->“操作符的功能是什么?
EN

Stack Overflow用户
提问于 2020-02-27 13:55:46
回答 2查看 31关注 0票数 0

我正在使用Sequelize,并试图从它构造的查询中学习。我在几个模型之间有一些复杂的一对多的关系,所以我遇到了这样的查询:

代码语言:javascript
复制
SELECT `ScrumBoard`.`id`, `ScrumBoard`.`title`, `ScrumBoard`.`createdAt`, `ScrumBoard`.`updatedAt`, `ScrumLists`.`id` AS `ScrumLists.id`, `ScrumLists`.`title` AS `ScrumLists.title`, `ScrumLists`.`createdAt` AS `ScrumLists.createdAt`, `ScrumLists`.`updatedAt` AS `ScrumLists.updatedAt`, `ScrumLists`.`ScrumBoardId` AS `ScrumLists.ScrumBoardId`, `ScrumLists->ScrumCards`.`id` AS `ScrumLists.ScrumCards.id`, `ScrumLists->ScrumCards`.`title` AS
`ScrumLists.ScrumCards.title`, `ScrumLists->ScrumCards`.`content` AS `ScrumLists.ScrumCards.content`, `ScrumLists->ScrumCards`.`createdAt` AS `ScrumLists.ScrumCards.createdAt`, `ScrumLists->ScrumCards`.`updatedAt` AS `ScrumLists.ScrumCards.updatedAt`, `ScrumLists->ScrumCards`.`ScrumListId` AS `ScrumLists.ScrumCards.ScrumListId`, `ScrumLists->ScrumCards->ScrumComments`.`id` AS `ScrumLists.ScrumCards.ScrumComments.id`, `ScrumLists->ScrumCards->ScrumComments`.`title` AS `ScrumLists.ScrumCards.ScrumComments.title`, `ScrumLists->ScrumCards->ScrumComments`.`content` AS `ScrumLists.ScrumCards.ScrumComments.content`, `ScrumLists->ScrumCards->ScrumComments`.`createdAt` AS `ScrumLists.ScrumCards.ScrumComments.createdAt`, `ScrumLists->ScrumCards->ScrumComments`.`updatedAt` AS `ScrumLists.ScrumCards.ScrumComments.updatedAt`, `ScrumLists->ScrumCards->ScrumComments`.`ScrumCardId` AS `ScrumLists.ScrumCards.ScrumComments.ScrumCardId`, `ScrumLists->ScrumCards->Labels`.`id` AS `ScrumLists.ScrumCards.Labels.id`, `ScrumLists->ScrumCards->Labels`.`title` AS `ScrumLists.ScrumCards.Labels.title`, `ScrumLists->ScrumCards->Labels`.`color` AS `ScrumLists.ScrumCards.Labels.color`, `ScrumLists->ScrumCards->Labels`.`createdAt` AS `ScrumLists.ScrumCards.Labels.createdAt`, `ScrumLists->ScrumCards->Labels`.`updatedAt` AS `ScrumLists.ScrumCards.Labels.updatedAt`, `ScrumLists->ScrumCards->Labels->scrumcard_labels`.`createdAt` AS `ScrumLists.ScrumCards.Labels.scrumcard_labels.createdAt`, `ScrumLists->ScrumCards->Labels->scrumcard_labels`.`updatedAt` AS `ScrumLists.ScrumCards.Labels.scrumcard_labels.updatedAt`, `ScrumLists->ScrumCards->Labels->scrumcard_labels`.`LabelId` AS `ScrumLists.ScrumCards.Labels.scrumcard_labels.LabelId`, `ScrumLists->ScrumCards->Labels->scrumcard_labels`.`ScrumCardId` AS `ScrumLists.ScrumCards.Labels.scrumcard_labels.ScrumCardId` FROM `ScrumBoards` AS `ScrumBoard` LEFT OUTER JOIN `ScrumLists` AS `ScrumLists` ON `ScrumBoard`.`id` = `ScrumLists`.`ScrumBoardId` LEFT OUTER JOIN `ScrumCards` AS `ScrumLists->ScrumCards` ON `ScrumLists`.`id` = `ScrumLists->ScrumCards`.`ScrumListId` LEFT OUTER JOIN `ScrumComments` AS `ScrumLists->ScrumCards->ScrumComments` ON `ScrumLists->ScrumCards`.`id` = `ScrumLists->ScrumCards->ScrumComments`.`ScrumCardId` LEFT OUTER JOIN ( `scrumcard_labels` AS `ScrumLists->ScrumCards->Labels->scrumcard_labels` INNER JOIN `Labels` AS `ScrumLists->ScrumCards->Labels` ON `ScrumLists->ScrumCards->Labels`.`id` = `ScrumLists->ScrumCards->Labels->scrumcard_labels`.`LabelId`) ON `ScrumLists->ScrumCards`.`id` = `ScrumLists->ScrumCards->Labels->scrumcard_labels`.`ScrumCardId`
WHERE `ScrumBoard`.`id` = '1'; 

查询本身并不重要,但我想理解"->“操作符的含义,如:

ScrumLists->ScrumCards.content AS ScrumLists.ScrumCards.content

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2020-02-27 13:58:46

在这种情况下,->没有特殊的含义。它只是属于在查询中定义的表别名,在这里:

代码语言:javascript
复制
LEFT OUTER JOIN `ScrumCards` AS `ScrumLists->ScrumCards`

一旦定义了别名,它将用于引用查询中的相应表,如下所示:

代码语言:javascript
复制
`ScrumLists->ScrumCards`.`id`

请注意,使用这样的表别名确实是一个错误的选择。->在MySQL中很有意义(它是JSON操作符,是JSON_EXTRACT()的同义词)。因此,在表别名中使用它需要每次使用它时引用标识符。我强烈建议将表别名更改为一些不那么棘手的内容,并且不需要引用(ScrumLists_ScrumCards就足够了)。

票数 2
EN

Stack Overflow用户

发布于 2020-02-27 13:58:22

根据文档

列->路径

当使用两个参数时,->操作符充当萃取物()函数的别名,左边是一个列标识符,右边是一个JSON路径,该路径是根据JSON文档(列值)计算的。无论列标识符发生在SQL语句中,您都可以使用这些表达式来代替它们。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/60434867

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档