相关疑难解决方法(0)

[FROM x, y] 在 Postgres 中是什么意思?

我刚刚开始使用 Postgres。阅读此文档时,我遇到了以下查询:

SELECT title, ts_rank_cd(textsearch, query) AS rank
FROM apod, to_tsquery('neutrino|(dark & matter)') query
WHERE query @@ textsearch
ORDER BY rank DESC
LIMIT 10;
Run Code Online (Sandbox Code Playgroud)

我可以理解这个查询中的所有内容,除了这个:FROM apod, ...

,是什么意思?我习惯于连接但不习惯于用FROM逗号分隔的多个语句。

我在网上搜索无果。在查看并思考之后,在我看来,它声明了一个名为 query 的变量,因此它可以多次使用它。但如果这是真的,这与什么有关系FROM

postgresql join

14
推荐指数
2
解决办法
3111
查看次数

Postgres FROM 子句中的列别名?

我正在阅读 Postgres 文档和 SELECT 语句页面,并且遇到了我从未遇到过的别名方面。

关于 FROM 子句的部分,副标题alias 中,有一句话说明:

如果编写了别名,还可以编写列别名列表来为表的一列或多列提供替代名称。

我能找到的文档中没有给出示例。

我知道如何将输出名称设置为别名,但这似乎不是一回事。


SELECT 的概要包括以下几行:

... SELECT [ ALL | DISTINCT [ ON (expression[, ...] ) ] ] * |expression[ [ AS ]output_name] [, ...] [ FROMfrom_item[, ...] ] ...

并定义from_item为:

其中 from_item 可以是以下之一:

[ ONLY ]table_name[ * ] [ [ AS ]alias[ (column_alias[, ...] ) ] ] (select) …

postgresql alias

5
推荐指数
1
解决办法
3020
查看次数

MariaDB 或 MySQL 是否实现了 VALUES(表达式)表值构造函数?

我只是想知道 MariaDB 或 MySQL 是否<table value constructor>在 SQL 规范中实现了。在SQL ServerPostgreSQL 中,这是通过标准化的VALUES (expression)?

SELECT *
FROM ( VALUES (1) ) AS t(x);
 x 
---
 1
(1 row)
Run Code Online (Sandbox Code Playgroud)

(来自语法)。

mysql mariadb sql-standard mariadb-10.3

5
推荐指数
1
解决办法
3315
查看次数

基于参数构建 where 子句

在 PostgreSQL 中,我试图在一个函数中构建一个 where 子句,该函数使用入站参数来确定 IN 的内容

例如:

select fld1, count(fld1)
from xyz
where fld1 in (
    case $1
        when 1 then 'Value1'
        when 2 then 'Value2'
        when 3 then '''Value1'',''Value2'''
        when 4 then '''Value4'',''Value5'',''Value6'''
    else NULL
)
group by fld1
Run Code Online (Sandbox Code Playgroud)

值 1 和值 2 一样正常工作,值 3 和 4 在语法上没有失败,但没有返回任何行。

postgresql case where

3
推荐指数
1
解决办法
1538
查看次数

标签 统计

postgresql ×3

alias ×1

case ×1

join ×1

mariadb ×1

mariadb-10.3 ×1

mysql ×1

sql-standard ×1

where ×1