`
zeng1990
  • 浏览: 52278 次
  • 性别: Icon_minigender_1
  • 来自: 桂林
社区版块
存档分类
最新评论

一道有关多表联合查询的面试题

阅读更多
    进入大三,学校搞了一个校企联合的实验班,打算招40个人今天早上去面试。
     面试我的听说是这家软件公司的副总经理(女的),面试过程简简单单,聊了
一些家常,谈了我这两年来的学习与未来的打算。之后让我去下一位面试官处写编程
题。
     首先,他先问我学过数据库没有,我说只学过一点点,在做java开发的小博客的
时候用到什么学什么的。他说基本的语句应该会吧。我说还可以。然后他就给了我一道
题目让我写。大概题目是这个样子。

三个表:
students表
    id,
    name
subjects表
     id,
    java,
    math
scores表
     stu_id,
    sub_id,
    score
对这单个表写一条查询语句,要求:查出这三个表的信息,当学生缺考的时候,scores表中是没有记录存在的,但是查询的结果要求缺考的同学的信息也要现实出来。
     对于只会一点点数据库操作的皮毛的我当场没有做出来,他问了问我的思想,我就按照我的想法大概说了一遍,他说在乎语法的东西,我们要的只是思想。我是只说了个用联合查询。其他的就不知道了。面试也就这样结束。有点悲剧。
     下午回来,我发誓一定要吧这个题目搞定,找了一下书,没什么头绪,上网google一下,
这是上网找到的修改而来的方案
SELECT name, subject, score from (scores RIGHT JOIN students on scores.stu_id=students.id) LEFT JOIN subjects on scores.sub_id=subjects.id

SELECT name, subject, score from scores sc left outer join subjects su on sc.sub_id=su.id right outer join students st on st.id=sc.stu_id

也没有找到什么好的解决方案。正当要放弃的时候(因为这个逃了一下无的课,弄了一下午),突发奇想(就是猜,心想这反正错了那么多次,再错一次也无妨),把上面的句子做了一下变形:
SELECT name, subject,score from (students, subjects) left join scores on scores.stu_id=students.id and scores.sub_id=subjects.id

没想到的时这样问题居然解决了(本人数据库基本没学,基础太差,所以不知道from后面的表还可以用括号括起来,也不知道join子句可以用and连接),真的是功夫不负有心人纳。。。。到此结束。

分享到:
评论
3 楼 jhli502 2011-10-31  
看我试了 为什么一执行就报错了
2 楼 zeng1990 2011-10-30  
我试过,应该没什么问题。
1 楼 jhli502 2011-10-29  
SELECT name, subject,score from (students, subjects) left join scores on scores.stu_id=students.id and scores.sub_id=subjects.id
你确定这语句是正确的吗

相关推荐

    企业公司软件测试面试笔试题集合 软件测试面试题

    联合网视面试题.doc 美国英网软件公司题目.doc 面试考题(腾讯,招行等等).txt 某公司的面试试题.doc 奇虎面试题.doc 千像互动的笔试.doc 清华同方开发的面试题 (有兴趣的看一下了 !).doc 缺陷的等级划分,一个...

    android和java面试大全集

    联合网视面试题.doc 缺陷的等级划分,一个经常被问到的问题.doc 软件测试工程师笔试试题(大集合).doc 千像互动的笔试.doc 2012java面试题分析大全.doc JAVA面试题集合(项目2部).chm JAVA经典算法50题1.doc ...

    java面试800题

    《java面试800题(包括java,数据库,前台等,绝对全面)》 Q0027 哪些SQL语句在执行时是自动提交的? 数据定义语言DDL是自动提交的。 Q0028 索引对数据库的影响? 提高查询速度 Q0029 主外键有什么关系? 外键是从...

    IT面试备考指南覆盖多技术领域习题与答案详解

    内容概要:本文档提供了全面覆盖IT行业各重要领域的面试习题和详尽答案解析,帮助应聘者更好地理解和应用诸如递归、SQL联合查询、进程概念、TCP/IP模型、查找特殊数组值的方法等一系列技术知识,并指导面试者掌握...

    一道面试题:Uber 是怎样在一周内招募到 1000 名车主的?.pdf

    本文将探讨 Uber 是怎样在一周内招募到 1000 名车主的,通过分析 Uber 的经典营销案例,了解事件营销、KOL 营销、主题营销、联合营销等营销策略,并探讨资源、创意、执行力等关键要素对招募车主的影响。 在讨论 ...

    Python字符串通过’+’和join函数拼接新字符串的性能测试比较

    有一道Python面试题, 以下代码有什么局限性,要如何修改 def strTest(num): s = 'Hello' for i in range(num): s += 'x' return s 上面的代码其实可以看出:由于变量str是不变对象,每次遍历,Python都会生成...

    怀集2020年事业编招聘考试真题及答案解析完整版.docx

    9. 推理逻辑 - 条件推理:这是一道逻辑推理题,涉及到排除法和条件关系,需要根据已知条件进行合理推断。 10. 运动队管理 - 运动员季度活动安排:教练的话表明运动员在不同季度参与不同的运动项目,且同一季度内不...

    Google2013校园招聘求职大礼包.pdf

    - **面试题型**:Google面试题不仅包括技术方面的挑战,还会涉及行为面试,比如“你如何处理团队冲突?”这样的问题。这些问题旨在了解候选人面对复杂情况时的应对策略和决策过程。 - **面试技巧**:有效的面试准备...

Global site tag (gtag.js) - Google Analytics