几个简单的数据库面试问题

hty_1984 2013-03-04 05:03:29
用户表:
用户编号 姓名 出生日期
1 张三 1988-5-9
2 李四 1985-3-5
…… …… ……

消费表:
ID 用户编号 金额
1 2 198523
2 1 45686
3 2 2568

假设以上数据表(不考虑范式),请完成一下sql语句:
1.统计所有用户每次平均消费金额

2.请查询出金额大于1000的所有用户姓名
...全文
544 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
wu5224311 2013-03-08
  • 打赏
  • 举报
回复
select 姓名,sum(金额)/count(1) [平均消费] from 用户表 left join 消费表 on 用户表.用户编号=消费表.用户编号 group by 姓名 select 姓名 from 用户表 left join 消费表 on 用户表.用户编号=消费表.用户编号 where 金额>1000
DBA_磊仔 2013-03-07
  • 打赏
  • 举报
回复
本着不答基础试题的原则留下一个脚印
再来壹串 2013-03-07
  • 打赏
  • 举报
回复
shenzhou06789 2013-03-07
  • 打赏
  • 举报
回复
楼主要好好学习才行
leeya66 2013-03-07
  • 打赏
  • 举报
回复
csdn有一个帖子专门整理了SQL的常用面试题, 这些题必须得会
Cui_Daniel 2013-03-07
  • 打赏
  • 举报
回复
引用 12 楼 tanleittl 的回复:
本着不答基础试题的原则留下一个脚印
yu_jian_jian 2013-03-05
  • 打赏
  • 举报
回复
觉得自己去看相关知识比较好。 你这个问题看‘表内连接’inner join。
mickers 2013-03-05
  • 打赏
  • 举报
回复
留下脚印,回去再看
chris1985a 2013-03-05
  • 打赏
  • 举报
回复
引用 4 楼 renwenli07461 的回复:
SQL code?1234567select 姓名,sum(金额)/count(1) [平均消费]from 用户表 left join 消费表 on 用户表.用户编号=消费表.用户编号group by 姓名 select 姓名from 用户表 left join 消费表 on 用户表.用户编号=消费表.用户编号where 金额>1000
第一个为什么不用AVG 第二个为什么不排重
renwenli07461 2013-03-05
  • 打赏
  • 举报
回复
select 姓名,sum(金额)/count(1) [平均消费]
from 用户表 left join 消费表 on 用户表.用户编号=消费表.用户编号
group by 姓名

select 姓名
from 用户表 left join 消费表 on 用户表.用户编号=消费表.用户编号
where 金额>1000
  • 打赏
  • 举报
回复
select 姓名,金额=sum(金额),sum(金额)/count(1)[平均消费] from 用户表 join 消费表 on 用户表.用户编号=消费表.用户编号 group by 姓名 select 姓名 from 用户表 a where (select sum(金额) from 消费表 b where b.用户编号=a.用户编号)>1000
發糞塗牆 2013-03-04
  • 打赏
  • 举报
回复
这样的题都不会做的话以后入职了也一样悲哀。自己动手一下吧

34,873

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧