gpt4 book ai didi

sql - SQL中的MAP关键字是什么?

转载 作者:行者123 更新时间:2023-11-29 11:44:55 27 4
gpt4 key购买 nike

我一直在尝试通过 SQL Koans 来改进我的 SQL 技巧,因为我喜欢边做边学和冥想的方法,而且我缺乏 SQL 知识。在一组公案中是这样的:

-- Meditate on MANY-TO-MANY relationships
select a.first_name, a.last_name, b.title
from book b
join book_to_author_map map on _____.id = _____.book_id
join author a on _____.author_id = _____.id
where author_id in (1, 5, 6)

之前没有使用别名的经验,也没有什么连接经验,我在这个问题上停留了一会儿。不过,我被困的时间比必要的要长,因为在 Emacs sql-mode 中,单词 map (我现在知道它是表的别名book_to_author_map) 被突出显示为 SQL 关键字。我花了很多时间寻找有关此关键字的文档,但一无所获(除了关于 sqlmap 的大量信息 ...)。

查看 Emacs sql-mode 的源代码,我发现 map 被指定为关键字作为 sql-mode-postgres-font 的一部分-lock-keywords,所以我开始搜索与 PostgreSQL 相关的 map,并在 a list of SQL keywords in the PostgreSQL documentation 中找到了它.关键字 MAP 被指定为 SQL:2003 的“非保留”关键字和 SQL:1999 的“保留”关键字。但是,到目前为止,我一直无法找到与 SQL 关联的此关键字的任何文档。

我的问题更多是出于好奇,如标题所示:什么是 SQL 中的 MAP 关键字?

最佳答案

我没有标准的副本,但根据 grammar 判断, MAP WITH <function>CREATE ORDERING 的子句声明。

CREATE ORDERING 用于指定用户定义类型的排序顺序,但据我所知,这是唯一实现了 MAP WITH 的供应商子句是 Teradata .看起来这个子句允许您通过提供将自定义类型映射到具有已知排序的现有类型的函数来为自定义类型定义排序顺序。

Postgres中没有这样的语句,通过operator classes定义排序顺序和 collations .

关于sql - SQL中的MAP关键字是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40112411/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com