使用一条sql语句实现多表查询

问题描述

使用一条sql语句实现多表查询

假设有这样3张表:

学生表S (id,Tid,name,sex,age)
教师表T (id,Sid,name,sex,age)
成绩表R (id(学生的id),result(成绩))

怎样使用一条sql查询成绩大于90的男学生的男性老师的姓名

解决方案

select * from R inner join S on R.id=S.Sid inner join T on xxxxxx where result>90

你学生和老师好像没有对应关系,所以第二个inner join没法写

解决方案二:

这个...................................

解决方案三:

谢谢了,差不多懂了

时间: 2024-08-02 13:52:54

使用一条sql语句实现多表查询的相关文章

求一条sql语句,单表查询的

问题描述 求一条sql语句,单表查询的 表结构 (姓名,课程,成绩) 现在求获的该表总成绩最高学员的名字 解决方案 mysql 数据库select sum(成绩) as t from table group by 姓名 order by t limit 0,1 oracle数据库 select * from (select sum(成绩) as t from table group by 姓名 order by t) WHERE ROWNUM<=1 sqlserver数据库 select top

一条SQL语句修改多表多字段的信息的具体实现_MsSql

之前修改两张及以上表的时候,总得需要用几次语句才修改,万一其中一条没修改上,又没事务机制的话,处理很麻烦,于是想到能不能一条语句完成呢? 结果是成功的~~ 多表多字段的时候,得用到表关联的方式修改信息: 复制代码 代码如下: UPDATE `user` join `binding` on `user`.`uid`=`binding`.`uid` SET `user`.`renren`="" ,`binding`.`renren_token`= "" , `bindi

一条SQL语句修改多表多字段的信息的具体实现

之前修改两张及以上表的时候,总得需要用几次语句才修改,万一其中一条没修改上,又没事务机制的话,处理很麻烦,于是想到能不能一条语句完成呢? 结果是成功的~~ 多表多字段的时候,得用到表关联的方式修改信息: 复制代码 代码如下: UPDATE `user` join `binding` on `user`.`uid`=`binding`.`uid` SET `user`.`renren`="" ,`binding`.`renren_token`= "" , `bindi

请教大神一条sql语句的优化

问题描述 请教大神一条sql语句的优化 表名pm,以temp分组,count两个信息,一个是全部个数,另一个是status为1 id temp status 1 1 0 2 1 1 3 2 0 4 2 1 5 2 1 select total.temp ,used.c1,total.c2 from (select temp,count(1) c1 from pm group by temp ) total left join (select temp,count(1) c2 from pm wh

select-sql语句的联表查询的效率问题

问题描述 sql语句的联表查询的效率问题 select * from a,b where a.id = b.id select * from a inner join b on a.id = b.id 这两种哪一种效率更高呢 , 推荐使用哪一种? 第二种叫内连接 , 第一种方式叫什么来着?忘记了 .... 解决方案 第一个是等值连接,第二个是内连接,这俩效果一样,效率也一样 解决方案二: 这两个写法都是内连接 解决方案三: 查询低效率的sql语句 解决方案四: 都叫内连接,也叫等值连接

通过一条sql语句访问不同数据库服务器中的数据库对象的方法

对象|访问|服务器|数据|数据库|语句 在我们做数据库程序开发的时候,经常会遇到这种情况:需要将一个数据库服务器中的数据导入到另一个数据库服务器的表中.通常我们会使用这种方法:先把一个数据库中的数据取出来放到某出,然后再把这些数据一条条插入到目的数据库中,这种方法效率较低,写起程序来也很繁琐,容易出错.另外一种方法是使用bcp或BULK INSERT语句,将数据导入到一个文件中,再从此文件中导出到目的数据库,这种方法虽然效率稍高,但也有很多不如意的地方,单是在导入时怎样找到另外一台机器上的数据导

sql oracle-关于怎么快速执行10000条sql语句

问题描述 关于怎么快速执行10000条sql语句 由于我的数据库有几千万条数据,每一条查询都会花费0.5秒,但是10000条查询需要半个多小时,所以希望有快速一点的方法,求各位大神指点,下面是我的函数. /** * 这是一个横着的for循环,图的缩放级别是13,11*10方格,不同区域到不同区域的上车点数量 */ public static void CountListPointsOfOnetoOne() { ArrayList ListSql = new ArrayList(); double

sqlserver-求各位大神给一条sql语句,急急急!!!

问题描述 求各位大神给一条sql语句,急急急!!! 我用的是sqlserver数据库,我希望完成这样的功能,有个数据库Test,里面有三张表ABC,我对其中的一张A表进行的分区,另外两张表没有分区,我希望通过sql语句查询到已经分区的表,就是要返回表A,只需获得表A的名称就行了.

Sql语句把一个表的某几列的数据存到另一个表里的方法

原文地址:sql语句把一个表的某几列的数据存到另一个表里的方法作者:星星月亮 一.如何用slq语句把一个表中的某几个字段的数据插入到另一个新表中,就要用下面这条slq语句:     insert into 表名1(字段1,字段2) select 字段1,字段2 from 表名2 这里有一点值得注意的是这2个字段要一一对应,并且按顺序. 二.如果另一个表是已经有数据的表,只希望更改其中的一列或几列的话,则用下面的sql语句:    update 表名1,表名2 set 表名1.字段1 = 表名2.