@postgres - 寻求帮助

@postgres - 寻求帮助

我需要做一些任务:

我通过 Oracle VM Virtual Box 使用 CentOS 6.7

  1. 查找名称 = PROJECT_NAME 的项目(表:项目;列:名称)
  2. 列出 id 为 PROJECT_ID1 或 PROJECT_ID2 的项目(表:Project;列:id)(使用“id in (...)”而不是“or/=”)
  3. 列出 id > 10 的项目的 ID 和名称(表:项目;列:id、名称)
  4. 列出按开始日期排序的项目 ID、开始日期和名称(表:项目;列:ID、开始日期、名称;使用:ORDER BY .. ASC)
  5. 列出 id > 10 且 name = PROJECT_NAME 的项目的 id、名称(表:Projects;列:id、name;用途:AND 运算)
  6. 列出项目的 id 并将结果限制为最后 5 个(表:项目,列:id,使用:LIMIT 操作)
  7. 列出最近 5 个启动的项目(表:项目,列:开始日期,使用:ORDER BY ... DESC LIMIT)
  8. 列出 2013-03-03 00:00:00 之后开始的项目(表:项目,列:开始日期;使用:开始日期 < '2013-03-03 00:00:00')
  9. 列出用户名包含单词“test”的用户(表:PMUser;列:用户名;使用:用户名如“%test%”)
  10. 列出用户名末尾包含单词“test”的用户(表:PMUser;列:用户名;使用:用户名如“%test”)
  11. 列出用户数量(表:PMUser;列:;使用:计数())
  12. 查找最大用户 ID(表:PMUser;列:id;使用:max(id))

编辑解决方案:

我的任务解决方案:
1. SELECT name FROM Project WHERE name = 'PROJECT_NAME';
2. SELECT id FROM Project WHERE id in (4214, 5020);(不确定这个,但看起来 PROJECT_ID1 只是我需要输入的数字,仍然需要一些解决方案/答案)
3 SELECT id,name FROM Project WHERE id > 10;
. 4. SELECT id,startdate,name FROM Project ORDER BY startdate ASC;
5. SELECT id,name FROM Project WHERE id > 10 AND name = 'PROJECT_NAME';
6. SELECT id FROM Project LIMIT 5;
7. SELECT startdate FROM Project ORDER BY startdate DESC LIMIT 5;
8. SELECT startdate FROM Project WHERE startdate <'2013-03-03 00:00:00';
9. SELECT username FROM PMUser wHERE username like '%test%;'
10. SELECT username FROM PMUser WHERE username like '%test';
11. SELECT count(*) FROM PMUser;
12.SELECT max(id) FROM PMuser;

答案1

您的任务/练习的核心似乎是 SQL 查询。我不会帮助他们。但只是让你开始使用 psql cli :)

按照我经常使用的命令:

# launch psql
psql -U <username> <database>

# list all databases
## here you will find the one they prepared for you
\l

# change database
\c <database_name>

# show tables
\dt

# describe table (show columns)
\d+ <table_name>

要查找其他 psql 命令,您可以在 psql cli 中键入以下命令:

\?

从这里开始,您可以开始仅使用 SQL 来解决任务。笔记所有点都需要 SELECT 语句。

相关内容