0 0

求数据库高手给写一个SQL查询语句!!!!5

我现在有一张公寓楼表,里面有BuildId,Sex,Num.一张寝室表,里面有BuildId,DoorId,还有一张学生住宿表 StudendName,BuildId,DoorId

BuildId:公寓楼号,DoorId:寝室门牌号,Sex:该栋楼住男生还是女生,Num:该楼里面一间寝室可住几人,StudentName:学生名字

现在我想用一条查询语句查询出全校所有楼里面所有寝室有空床位的信息,并显示楼号、寝室号、已入人数、可住人数。

比如说10栋101寝室一个人都没住,就显示 10 101 0 6 。现在我就是不知道怎么查询出这种寝室没人住人的信息,小弟在这等高手给解决下,谢谢了!!!
2011年3月13日 23:09

2个答案 按时间排序 按投票排序

0 0

select s.BuildId,s.DoorId,sum(*) as entryNum,g.num - sum(*) as surplusNum from 公寓楼表 g, 学生住宿表 s where g.BuildId = s.BuildId group by s.BuildId,s.DoorId,g.num  其实你的表结构没设计好,设计好的话,学生应该只属于qinshi,不去关联gongyu的,就可以用楼上的朋友的说法进行3表查询

2011年3月25日 11:02
0 0

查出楼号,寝室
select g.BuildId,q.DoorId
from gongyu g,qinshi q
where g.BuildId = q.BuildId
.........
查出学生的每个寝室的入住人数
select count(s.StudentName)
from qinshi q,student s
where q.DoorId = s.DoorId
group by q.DoorId
..........
那么把上面的两个结合一起,因为查出学生人数可当成一个临时表
select g.BuildId,q.DoorId,c.cou,(g.Num-c.cou)
from gongyu g,qinshi q,
     (select count(s.StudentName) cou,q.Doorld DoorId
      from qinshi q,student s
      where q.DoorId = s.DoorId
      group by q.DoorId) c
where g.BuildId = q.BuildId
      q.DoorId = c.DoorId
  

2011年3月14日 09:02

相关推荐

    SQL高手篇:精妙SQL语句介绍

    在SQL的世界里,掌握一些精妙的SQL语句可以极大地提升你的工作效率,使你在处理数据库时游刃有余。以下是一些高级SQL技巧的详细解释: 1. **复制表结构而不复制数据** 使用`SELECT * INTO 新表名 FROM 原表名 ...

    Sql查询语句大集合

    3. "SQL语句集锦大集合.txt":这是一个大型的SQL语句集合,可能包含了DML(数据操纵语言)如INSERT、UPDATE、DELETE,以及DDL(数据定义语言)如CREATE、ALTER、DROP等,还有可能涉及视图、索引、触发器等相关概念。...

    SQL语句基础PPT

    这份“SQL语句基础PPT”显然是一个教学资料,涵盖了SQL的基础语法和高级特性,对于初学者或者需要复习SQL知识的人来说是一份非常实用的资源。 **一、SQL基础语法** 1. **数据类型**: SQL中的数据类型包括数值型...

    sql 常见查询语句

    3. 子查询嵌套:在一个查询中嵌套另一个查询,用于更复杂的逻辑。 五、SQL高级查询 1. 分区函数:RANGE, ROWS, GROUPS用于窗口函数,如ROW_NUMBER(), RANK(), DENSE_RANK()等。 2. 自连接:一个表与自身进行连接,...

    SQL Server 2005数据库管理与应用高手修炼指南配套文件

    《SQL Server 2005数据库管理与应用高手修炼指南》是一本专注于SQL Server 2005这一数据库管理系统的学习资料。SQL Server 2005是微软公司推出的数据库平台,广泛应用于数据存储、分析和应用程序开发。这本书的配套...

    ORACLE__SQL语句教学(附有sql最常用经典语句)

    本资源"ORACLE__SQL语句教学(附有sql最常用经典语句)"显然是一个针对Oracle SQL的深入学习资料,旨在帮助数据库编程者提升技能,成为真正的高手。 首先,让我们来看看SQL的基本概念。SQL是一种用于管理关系型...

    软件开发高手须掌握的4大SQL精髓语句(三)

    假设我们有一个DB2数据库环境,并使用“万能数据库查询分析器”作为客户端工具。 ##### 5.1 示例环境 - **数据库**:DB2 - **客户端工具**:“万能数据库查询分析器” ##### 5.2 示例代码 考虑以下SQL语句: ``...

    sql语句详细讲解及实例

    以下是对给定文件中SQL语句的详细讲解和实例分析: 1. **复制表结构:** ```sql SELECT * INTO b FROM a WHERE 1<>1 ``` 这个命令会创建一个新的表`b`,并从表`a`中复制所有的列定义,但不复制任何数据。`WHERE...

    SQL高手篇精妙SQL语句介绍

    本文将深入探讨一些高级和精妙的SQL语句,这些技巧可以帮助你更高效地操作数据库。 1. **复制表结构**:如果你想创建一个新的表,其结构与现有表相同但不包含任何数据,可以使用以下语句: ```sql SELECT * INTO ...

    oracle sql语句学习

    Oracle SQL语句是数据库管理与数据查询的重要工具,尤其在Oracle数据库系统中,掌握SQL的高效使用至关重要。这个"oracle sql语句学习"资源包显然旨在帮助初学者逐步提升到高级水平,通过全面的笔记资料,使用户能够...

    数据库高手手册 oracle境界mysql高手

    【数据库高手手册——Oracle境界MySQL高手】 在数据库领域,Oracle和MySQL是两个广泛使用的系统,分别代表了企业级和开源数据库的典范。本手册旨在帮助读者深入理解和掌握这两个数据库系统的精髓,提升数据库开发、...

    好用的数据库助手;支持SQL Server,Oracle ;可以自动生成insert语句或update语句;

    首先,让我们关注一下它自动生成SQL语句的功能。对于数据库管理员来说,编写INSERT和UPDATE语句是一项常见的任务,尤其是在数据迁移、测试环境搭建或者数据恢复等场景中。手动编写这些语句既耗时又容易出错。这个...

    精通SQL语句(增删改查)

    "精通SQL语句(增删改查)"是学习数据库操作的基础,尤其对初学者而言,掌握SQL的四大基本操作——增(Insert)、删(Delete)、改(Update)和查(Select)至关重要。 **增(Insert)**:插入数据到数据库表中。...

    MySQL数据库查询优化

    预计时间2小时,每小时一个课程段(子查询是SQL查询优化的重点内容,务必掌握好) 第5课 查询优化技术理论与MySQL实践(三)------视图重写与等价谓词重写 什么是视图重写?哪些类型的视图可以被优化?MySQL是怎么...

    sql语句优化之降龙十八掌

    在数据库管理中,SQL语句优化是提升系统性能的关键步骤,尤其对于大型系统而言,一个高效的SQL查询可以显著减少响应时间,改善用户体验。本文将详细阐述"sql语句优化之降龙十八掌",逐一解析这十八个优化技巧,帮助...

    学习SQL应知道的动态SQL语句基本语法

    在SQL的世界里,动态SQL(Dynamic SQL)是一种强大的工具,尤其对于处理复杂查询或需要根据运行时条件构建SQL语句的场景。对于SQL初学者来说,掌握动态SQL的基本语法是提高编程灵活性的关键步骤。让我们深入了解一下...

    Sql高手速成

    4. 视图(View):创建视图以简化复杂的查询逻辑,提供一个抽象的、易于使用的数据访问接口。 5. 存储过程和函数:编写存储过程和自定义函数,提高代码复用性和执行效率,同时实现业务逻辑的封装。 三、数据库设计...

Global site tag (gtag.js) - Google Analytics