美文网首页
Node - postgreSQL(二)

Node - postgreSQL(二)

作者: 酷热summer | 来源:发表于2020-04-21 09:28 被阅读0次

本文主要介绍下 postgreSQL的一些简单的语法。
假设目前有表 cd.facilitiescd.memberscd.bookings,具体表内信息,可进入任务页面,通过 SELECT * FROM 表名;查询表内所有内容,此处不一一赘述。

  • SELECT name,membercost FROM cd.facilities;:从表cd.facilities中只列出namememberconst 字段信息。
  • SELECT * FROM cd.facilities WHERE membercost > 0;: 使用 where 条件筛选,筛选出表中 membercost > 0 的数据。
  • SELECT facid,name,member,monthlymaintaince FROM cd.facilities WHERE membercost > 0 AND membercost < monthlymaintaince / 50;:使用 AND 连接筛选条件,满足 membercost > 0 并且 membercost < monthlymaintaince / 50
  • SELECT facid,name,membercost,monthlymaintenance / 50 as avg FROM cd.facilities WHERE membercost > 0 AND membercost < monthlymaintenance / 50; :以上表的另一种写法,使用 AS,此时筛选出来的数据不再包含 monthlymaintance 字段,以 avg 取代,且值为 monthlymaintance / 50
  • SELECT * FROM cd.facilities WHERE name LIKE '%Tennis%';:使用 LIKE 查询表中 name 包含 Tennis 的数据,双%表示只要包含 Tennis 即可,%Tennis 表示以此结尾,反之以此开头。
  • SELECT * FROM cd.facilities WHERE facid = 1 OR facid = 5;:使用OR实现或逻辑。筛选条件还可写为:WHERE facid = (1,5)。此语句的意思是获取到 facid = 1 或者 = 5 的数据。可使用 NOT IN 来获取非 1 非 5 的数据。
  • SELECT name, case WHEN (monthlymaintenance > 100) THEN 'expensive' ELSE 'cheap' END AS cost from cd.facilities; :当 monthlymaintenance > 100 时返回 expensive,小于 100 时返回 'cheap',将返回值传入 cost
  • SELECT memid,surname,firstname,joindate FROM cd.members WHERE joindate >= '2012-09-01';:日期条件筛选,筛选的日期格式为 xxxx-xx-xx
  • SELECT distinct surname FROM cd.members order by surname limit 10;:关键字 distinct 用来实现去重, limit 实现条数限制。
  • SELECT surname FROM cd.members union SELECT name FROM cd.facilities;:使用关键字 union 获取 cd.members 中的 surname 数据 和 cd.facilities 中的所有 name 合并组成的表。
  • SELECT max(joindate) as latest from cd.members;: max(xxx) 表示取最大值
  • select firstname, surname, joindate from cd.members where joindate = (select max(joindate) from cd.members);:筛选出最后存入表中的用户 firstname、surname 、joindate。语句中的 where 条件使用 select 语句实现。

大部分内容主要来自PostgreSQL Exercises

相关文章

网友评论

      本文标题:Node - postgreSQL(二)

      本文链接:https://www.haomeiwen.com/subject/hhsyihtx.html