`

未解决的sql题

阅读更多

自己对sql的理解。用一句俗话说:人有七窍,已经通了六窍,有没有童鞋指点一下

问:关系模式:User(userId, userName), Article(articleId, userId, title,   content),Vote(articleId, score),User为用户关系,Article为用户发表的文章关系,Vote为文章得票关系,title为文章标题、score为得票数。
(1)用SQL语言查询所有没发表过文章的用户名;
(2)用SQL语言查询得票数大于100的所有文章标题,按得票数倒序排列;
(3)用SQL语言查询出发表文章数大于5,文章平均得票数大于100的用户名,按平均得票数倒序排列;
(4)设计这些表的主键、外键和索引,并指出上面三个查询所使用的索引。
(5)当用户数超过1000万,文章数超过1亿时,如何考虑存储及性能的改进和优化?

 

答: 

 

1 select * from User where useid  not in(select userid from Article);
2 select title from article   inner  join vote  on article.articleid=vote.aritcleid and  vote.score>100 order by vote.score asc; 
3有点不太会,下面胡乱乱写了一通

3 select * from user where userid in(select userid from Article inner join vote on article.articleid = vote.articleid group by userId  having avg(score)>100) group by userid having count(*) >5;

4主键外键应该很简单,索引第一个应该是userid,第二个是articleid 和score,第三个应该是articleid和 userid

5用户数按照id分割分布式存储,文章类似,还可以用读写分离等策略水平扩展数据库.

 

 

 

第三题: 
select 
user.userName 
from user 
inner join 
( 
    --平均得票数大于100的用户 
select  art.userId 
from  article art 
inner join vote on art.articleId = vote.articleId 
where art.userId in( 
            --文章数大于5的用户 
select  userId 
from  article 
group by userId 
having count(articleId) > 5 
) 
group by art.userId 
having avg(vote.score) > 100 
) newuser on user.userId =newuser.userId   答案我没有整理

分享到:
评论

相关推荐

    Sql经典练习题库(附答案)

    ### SQL经典练习题库知识点解析 #### 一、SQL简介及其重要性 SQL(Structured Query Language,结构化查询语言)是一种非过程化的编程语言,它主要用于...这些练习有助于加深对SQL的理解,并提高解决实际问题的能力。

    SQL查询50题

    在SQL的世界里,掌握高效的查询技巧是至关重要的。...通过解决这些问题,你可以深入理解SQL的工作原理,提升在实际项目中的应用能力。无论是初学者还是经验丰富的开发者,这个资源都能提供有价值的实践机会。

    50道SQL面试题

    根据提供的信息,我们可以总结出以下相关的SQL知识点及解析: ### SQL面试题解析 #### 题目1: 查询课程编号为001的成绩高于课程编号为002的...通过练习这些题目,可以加深对SQL语言的理解,提高解决实际问题的能力。

    sql数据库上机试题一

    通过完成本试题,学生将掌握SQL数据库的基本知识和技能,并且能够应用这些知识和技能来解决实际问题。 一、数据库设计(10分) 在本试题中,学生需要使用T-SQL语句建立一个宾馆数据库,包括数据库名、逻辑数据...

    SQL Server笔试题(Sql2000常见笔试题)

    【SQL Server 笔试题解析】 SQL Server 是一款由微软公司开发的关系型数据库管理系统(RDBMS),广泛应用于企业级数据存储和管理。...通过解决这些问题,可以深入理解SQL Server的工作原理和操作方式。

    SQL练习题及答案

    【SQL练习题及答案】 1. 创建BORROW表的SQL语句主要涉及到主键完整性约束和引用完整性约束。主键完整性约束确保了表中的主键字段的唯一性,而引用完整性约束则是指表中的外键字段必须引用另一个表中存在的主键。在...

    SQL规范化查询语句练习题

    "SQL规范化查询语句练习题.doc"文档中可能包含了多种类型的题目,例如: 1. 识别未规范化表的问题,如数据冗余、插入异常等。 2. 根据业务场景,设计符合1NF、2NF、3NF或BCNF的表结构。 3. 给定一个查询需求,写出...

    sql习题答案(有截图)

    - **解析**:此题旨在查询`student`表中的`sname`(姓名)、`sex`(性别)以及`class`(班级)三个字段的数据。 - **SQL语句**: ```sql SELECT sname, sex, class FROM student; ``` ### 2. 显示教师所有的...

    sql习题与答案.doc

    SQL(Structured Query Language)是一种标准的语言,用于管理和处理关系数据库系统。它包含了多种功能,如数据查询、数据更新、数据插入...通过解决这些问题,用户可以深入理解和熟练掌握SQL在实际应用中的各种技巧。

    【整理】数据库面试题索引sql优化+数据库SQL优化总结之百万级数据库优化

    首先,我们来看看"数据库面试题索引sql优化.pdf"可能涵盖的内容。 1. **SQL基础与语法**:面试通常会涉及到SQL的基本概念,如SELECT语句、JOIN操作、子查询、聚合函数(COUNT、SUM、AVG等)、WHERE和HAVING子句的...

    winForm + sql2005 专业考试机试题

    由于题目集未提供答案,学习者需要通过自我实践、查阅资料或者讨论来解决这些问题,这将有助于提升实际操作能力和问题解决能力。对于正在准备相关认证考试或希望提升技能的IT从业者来说,这是一个极好的练习材料。

    sql ATA微软认证题库

    4. **T-SQL扩展**:微软SQL Server特有的Transact-SQL(T-SQL)包含了一些SQL标准未涵盖的扩展功能,如存储过程(PROCEDURE)、触发器(TRIGGER)、游标(CURSOR)和异常处理(TRY...CATCH)。 5. **数据库设计与...

    SQL Server 2005数据库开发与实现习题

    **题目背景**:本题旨在考察考生如何在数据迁移过程中处理外键约束的问题,特别是在源数据库(SQL Server 2000)与目标数据库(SQL Server 2005)之间的数据迁移时,如何避免因为外键约束而导致的数据导入失败。...

    SQL Server 2005数据库应用与开发习题解答与上机指导前50面大部分选择题与思考题答案照片

    例如,选择题可能涵盖T-SQL语法、数据库设计原则、安全策略的设定等方面;思考题则可能涉及复杂查询优化、备份策略设计或报表开发的场景分析。 在解决习题时,不仅要掌握理论知识,还要学会实际操作。例如,针对一...

    sql server2000复习题

    SQL Server 2000支持多级事务隔离,包括读未提交、读已提交、可重复读和序列化四种级别。事务可以通过BEGIN TRANSACTION开始,COMMIT结束或ROLLBACK撤销。 ### SQL Server 2000的数据库对象 SQL Server 2000中的...

    SQL常见面试题

    ### SQL常见面试题详解 #### 一、获取自增长字段的当前值 **知识点概述:** 在SQL Server中,当我们向一个设置了自增长字段的表中插入新数据时,有时需要快速获取该自增长字段的当前值。例如,创建新用户后立即...

    SQL228考试题

    SQL228考试题是针对SQL Server数据库管理与开发的一项认证考试,主要涵盖了数据库设计、实施、优化以及安全等方面的知识。对于准备参加该考试的考生来说,这份"SQL228考试题"的复习资料至关重要,它能帮助考生全面...

    SQL SERVER查询习题

    这里我们将深入探讨两个经典查询习题,并了解如何使用SQL Server的强大功能来解决问题。 第一题:假设我们有一个名为`Employees`的表,包含`EmployeeID`(员工ID)、`FirstName`(名)、`LastName`(姓)和`...

    最全SQL数据库试题.pdf

    根据提供的文件内容,我们可以提炼出以下知识点: 1. 数据库的特点:数据库管理系统具有四个显著特点,其中三个是数据共享...而对数据库管理系统、表建立命令以及SQL语言的掌握则是解决SQL数据库相关操作题目的关键。

Global site tag (gtag.js) - Google Analytics