美文网首页
使用PostgreSQL进行复杂查询

使用PostgreSQL进行复杂查询

作者: zealscott | 来源:发表于2018-10-19 09:08 被阅读0次

SQL复杂查询与视图。

数据说明

现在有一个spj数据库,其中有四个表,分别为:

S P J SPJ
供应商代码表 零件表 工程项目表 供应情况表
53990837542

SQL查询

创建视图

将零件表P表与供应情况SPJ表、供应商S表结合,得到零件与供应商的关系:

CREATE VIEW P_S
AS SELECT P.PNO,PNAME,COLOR,WEIGHT,S.SNO,JNO,QTY,SNAME,STATUS,CITY
FROM P LEFT JOIN SPJ
ON P.PNO = SPJ.PNO 
LEFT JOIN S
ON SPJ.SNO = S.SNO;

可以得到:

53990902126

操作

  1. 在零件表的视图中找出weight < 20 的零件名字(PNAME)

    SELECT DISTINCT PNAME
    FROM P_S
    WHERE WEIGHT < 20;
    
    53990930200
  2. 查询供应商表中城市为北京的供应商姓名(SNAME)

    SELECT DISTINCT SNAME
    FROM S
    WHERE CITY = '北京';
    
    53990941503
  3. 在零件表中查询平均重量在15以上的零件名字和零件代码(PNO)

    SELECT DISTINCT PNAME,PNO
    FROM P_S
    WHERE PNAME IN (
    SELECT DISTINCT PNAME
    FROM P_S    
    GROUP BY PNAME
    HAVING AVG(WEIGHT) > 15);
    
    53990963869
  4. 查询全体供应商的姓名(SNAME)和状态(STATUS)

    SELECT DISTINCT SNAME,STATUS
    FROM P_S;
    
    53990995576
  5. 查询所有weight在13到20岁(含13和20)的零件代码(PNO)、零件名(PNAME)和颜色(COLOR)

    SELECT DISTINCT PNO,PNAME,COLOR
    FROM P_S
    WHERE WEIGHT >= 13 AND WEIGHT <=20;
    
    53991069169
  6. 查询所有“螺”开头的的零件代码(PNO)和零件名(PNAME)

    SELECT DISTINCT PNO,PNAME
    FROM P_S
    WHERE PNAME like '螺%'
    
    53991079728
  7. 查询所有零件的平均重量

    SELECT DISTINCT PNAME,AVG(WEIGHT)
    FROM P_S
    GROUP BY PNAME;
    
    53991088459
  8. 查询同在“天津”的工程项目名(JNAME)

    SELECT JNAME
    FROM J
    WHERE CITY = '天津';
    
    53991099326
  9. 查询在“精益”供应商下的零件,且质量小于15的零件详细信息

    SELECT PNO,PNAME,COLOR,WEIGHT,JNO,QTY
    FROM P_S
    WHERE SNAME = '精益';
    
    53991111772

相关文章

  • 使用PostgreSQL进行复杂查询

    SQL复杂查询与视图。 数据说明 现在有一个spj数据库,其中有四个表,分别为: SQL查询 创建视图 将零件表P...

  • Django: 查询

    使用Q进行复杂的查询 模糊查询 精确匹配 聚合查询

  • 2019-04-22

    Spring data jpa 基本使用 继承JpaSpecificationExecutor接口进行复杂查询

  • MyBatis多表连接查询

    使用MyBatis进行单表查询十分简单,多表连接查询相比单表查询操作稍微复杂,不过相较于使用JDBC方式简单得多:...

  • PostgreSQL Executor(6): 并行查询

    PostgreSQL从9.6开始支持并行查询。在此之前,PostgreSQL仅使用一个进程处理用户的请求,无法充分...

  • SQL 日常用法积累

    自定义排序 多字段模糊查询 排序对空值的处理 postgresql jsonb数据查询 postgresql

  • postgresql 表的列名,数据库表名

    postgresql 查询某一个表中的所有字段,也就是查询所有的列名 postgresql 查询数据库表名

  • Android中使用OrmLite进行复杂条件查询

    转自 Android中使用OrmLite(二):复杂条件查询

  • JdbcTemplate

    查询操作 复杂查询 复杂查询二:查询出来后封装为实体对象(通过RowMapper将类的属性与表的字段进行映射) 使...

  • PostgreSQL和Hibernate整合

    NoSQL特性整合 要查询的数据格式: 在PostgreSQL中存储的是一个json类型的字段,查询需要使用Pos...

网友评论

      本文标题:使用PostgreSQL进行复杂查询

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