Skip to content
This repository has been archived by the owner on Oct 27, 2023. It is now read-only.

Latest commit

 

History

History
78 lines (60 loc) · 3.47 KB

实验四.md

File metadata and controls

78 lines (60 loc) · 3.47 KB

数据库实验

实验一

1、PostgreSQL 安装 Windows Linux

2、创建数据库和表
使用SQL语句,完成创建一个数据库,创建关系。

 1)创建数据库scDB;

 2)按要求创建四个表:
  Student(Sno,Sname,Ssex,Sage,Sdept)
  Course(Cno,Cname,Cpno,Ccredits)
  SC(Sno,Cno,Grade)

 3)为属性选择合适的域、合适的主码和外键约束;

3、运行脚本SPJ.sql

\i your_Path

4、简单单表查询

 在SPJ的基础上,完成教材第三章习题5。

实验二

掌握SELECT/SELECT DISTINCT/WHERE/AND/OR/ORDER BY/INSERT INTO/UPDATE/DELETE等操作

5、查询操作

1)在零件表的视图中找出weight < 20 的零件名字(PNAME)
2)查询供应商表中城市为北京的供应商姓名(SNAME)
3)在零件表中查询平均重量在15以上的零件名字和零件代码(PNO)
4)查询全体供应商的姓名(SNAME)和状态(STATUS)
5)查询所有weight在13到20岁(含13和20)的零件代码(PNO)、零件名(PNAME)和颜色(COLOR)
6)查询所有“螺”开头的的零件代码(PNO)和零件名(PNAME)
7)查询所有零件的平均重量
8)查询同在“天津”的工程项目名(JNAME)
9)查询在“精益”供应商下的零件,且质量小于15的零件详细信息

实验三

练习带连接的子查询操作

6、复杂子查询操作

1)在零件表中找出weight排名前三的零件名字(PNAME),按降序输出
2)查询至少使用了供应商S1所供应的全部零件的城是(CITY)
3)查询出供应商代码(SNO)为S1的,生产零件的全部颜色(COLOR)
4)查询所有WEIGHT > 20的零件名字(PNAME),零件代码(PNO),供应商代码(SNO),供应商姓名(SNAME)
5)查询供应工程J1零件为红色的供应商号码(SNO)

实验四

练习带分组聚集的查询

7、带分组聚集的查询操作

1)查询大于平均WEIGHT的零件,列出他们的供应商代码(SNO),零件代码(PNO),工程代码(JNO),供应数量(QTY)
2)查询小于平均供应数量QTY的零件,列出他们的零件代码(PNO),零件名(PNAME),颜色(COLOR)
3)查询供应数量QTY不在99-301之间的零件,列出他们的零件代码(PNO),零件名(PNAME),颜色(COLOR)
4)查询WEIGHT大于15,且供应数量QTY必须在250以上的零件,列出他们的零件代码(PNO),零件名(PNAME),供应数量(QTY)
5)查询工程项目代码(JNO)为“J1”的项目,列出所有使用的零件代码(PNO),零件名(PNAME),颜色(COLOR)
6)查询供应商代码(SNO),零件代码(PNO),重量(WEIGHT),通过零件代码(PNO),重量(WEIGHT)排序

Tips:

\password 设置密码。
\q 退出。
\h 查看SQL命令的解释,比如\h select
\l 列出所有数据库。
\c [database_name] 连接其他数据库。
\d 列出当前数据库的所有表格。
\d [table_name] 列出某一张表格的结构。
\du 列出所有用户。
\e 打开文本编辑器。
\conninfo 列出当前数据库和连接的信息。
\? 查看psql命令列表