看PG10文档的笔记

中文文档  http://www.postgres.cn/docs/10

人们广泛认为在一个连接查询中限定所有列名是一种好的风格,这样即使未来向其中一个表里添加重名列也不会导致查询失败。

SELECT weather.city, weather.temp_lo, weather.temp_hi,weather.prcp, weather.date, cities.location
FROM weather, cities WHERE cities.name = weather.city;
CREATE TABLE cities (
  name       text,
  population real,
  altitude   int     -- (in ft)
);

CREATE TABLE capitals (
  state      char(2)
) INHERITS (cities);


在这种情况下,一个capitals的行从它的父亲cities继承了所有列(name、population和altitude)。列name的类型是text,一种用于变长字符串的本地PostgreSQL类型。州首都有一个附加列state用于显示它们的州。在PostgreSQL中,一个表可以从0个或者多个表继承。

两个只由空白及至少一个新行分隔的字符串常量会被连接在一起,并且将作为一个写在一起的字符串常量来对待。例如:

等同于:

SELECT 'foobar';
但是:

SELECT 'foo'      'bar';
则不是合法的语法(这种有些奇怪的行为是SQL指定的,PostgreSQL遵循了该标准)。


数据库函数中 $1代表第一个入参


 

猜你喜欢

转载自blog.csdn.net/weixin_42767321/article/details/86592461