首页 > 试题广场 >

这里有两个表,请用SQL语句查询年龄小于平均年龄的作者姓名,

[问答题]
这里有两个表,请用SQL语句查询年龄小于平均年龄的作者姓名,图书名,出版社。
表1:图书(图书号、图书名、作者编号、出版社、出版日期)

表2:作者(作者姓名、作者编号、年龄、性别)

两张表为:

books(id,title,address,date)

author(no,name,age,sex)

SQL语句为:

SELECT

author.`name`,books.title,

books.address

FROM

books

INNER JOIN author ON books.authorid = author.no

WHERE

author.age < (SELECT AVG(age) FROM author);

发表于 2017-08-20 18:32:35 回复(0)
SELECT 作者.作者姓名, 图书.图书名, 图书.出版社
FROM 作者
INNER JOIN 图书
WHERE (作者.作者编号 == 图书.作者编号) AND (作者.年龄 < (SELECT AVG(年龄) FROM 作者))

好奇地问一下,两个表分别取不同的列,需要JOIN吗,还是直接select就好了
发表于 2017-09-05 11:58:07 回复(0)

好奇是不是要把中文换成全英文。

发表于 2018-08-05 01:11:24 回复(3)
select 作者姓名,图书名,出版社 from 作者 t inner join 图书 q on t.作者编号=q.作者编号 where t.年龄 <(select avg(年龄) from作者)
发表于 2017-11-19 16:30:13 回复(0)
select 作者姓名,图书名,出版社 from 作者,图书 where 作者.作者编号=图书.作者编号 and 年龄<(select AVG(年龄) from 作者);
发表于 2017-08-20 16:32:38 回复(3)
Select t.姓名,b.图书名,b.public from 作者 as t inner join 图书 as b on where b.作者编号=t.作者编号 and t.年龄 < avg(t.年龄)
发表于 2021-03-13 23:55:32 回复(0)
select from 图书 ,作者where 图书. =作者. and 年龄<(select avg(年龄)from作者)
编辑于 2018-01-12 22:46:51 回复(0)
都是用子查询吗不是有多表连接吗?
发表于 2017-12-04 21:13:24 回复(0)
如果是Oracle我觉得要join两张表然后groupby分组然后having筛选,反正where不能和avg聚合函数一起。如果是MySQL也一样,join连接方式有很多的啦
发表于 2017-11-21 15:32:42 回复(0)
select t2.userName , t2.liberary , t1.publisher from tbl1 t1
left join tbl2 t2 on t2.writerNo = t1.writerNo
发表于 2017-09-22 19:08:53 回复(0)
select 作者姓名,图书名,出版社 from 图书,作者 where 图书.作者编号=作者.作者编号 and 年龄 <(select avg(年龄) from 作者)
发表于 2017-08-29 19:16:42 回复(0)
select aname,bname,pub from anthor a join book b on (a.ano = b.ano) where age < (select avg(age) from author)
发表于 2017-08-18 21:27:35 回复(0)