sql - 面试】的更多相关文章

晚上回来,同学说面试遇到了一个SQL面试题目,自己做了一下,总结总结. 题目如下: 下面是产品数据表(产品id,颜色col,数量num),其中每种产品有1~2种颜色. 求每种产品各颜色的数量差值(对于只有一种颜色的保留产品总数) 解法如下: 1.先求出每种产品各颜色的数量 这个不难,直接使用group by 就可以啦.SQL语句如下: select id,col,sum(num) total from chanpin group by id,col 结果: 2.求每种产品各颜色的数量差值(对于只…
最近萌生换工作的念头,于是上网下载了一些公司的面试题,重新看了面试题中的Sql部分,这些查询题有时候只是兜一个弯角来考,对于给EF惯坏的孩子来说还是有点难度的(给面试官鄙视了几下的结果),所以列出最近感觉比较有意思的Sql查询题. 1.查询出子节点最多的NodeName,如下图的table, NodeName 子节点 节点1 1 节点2 2 节点3 1 节点3 1 节点3 1 节点4 2 节点4 3 ),parentId int) insert into @t , union all , uni…
一,关于 group by 表内容: 2005-05-09 胜 2005-05-09 胜 2005-05-09 负 2005-05-09 负 2005-05-10 胜 2005-05-10 负 2005-05-10 负 需要生成结果为: Fday 胜 负 2005/5/9 2 2 2005/5/10 1 2 建表: ),Fwin_lose )) insert into t_com values('2005-05-09','胜') insert into t_com values('2005-05…
1.用一条SQL语句 查询出每门课都大于80分的学生姓名 name   kecheng   fenshu 张三     语文       81张三     数学       75李四     语文       76李四     数学       90王五     语文       81王五     数学       100王五     英语       90 A: select distinct name from table  where  name not in (select distin…
本文是在Cat Qi的原贴的基础之上,经本人逐题分别在MySql数据库中实现的笔记. 参考原贴:http://www.cnblogs.com/qixuejia/p/3637735.html 01 问题描述 本题用到下面三个关系表: 借书卡:card cno name class 卡号 姓名 班级 图书:books bno bname author price quantity 书号 书名 作者 单价 库存册数 借书记录:borrow cno bno rdate 借书卡号 书号 还书日期 备注:限…
以下题目都在MySQL上测试可行,有疏漏或有更优化的解决方法的话欢迎大家提出,我会持续更新的:) 有三个表,如果学生缺考,那么在成绩表中就不存在这个学生的这门课程成绩的记录,写一段SQL语句,检索出每个学生缺考的科目.A 学生表(student)字段1 学生号(s_id)字段2 学生名(s_name) B 科目表(course)字段1 科目号(c_id)字段2 科目名(c_name) C 成绩表(grade)字段1 成绩号(g_id)字段2 学生号(s_id)字段3 科目号(c_id)字段4 成…
1.事物的保存点 MYSQL可以让我们对事务进行部分回滚,就是在事务里调用SAVEPOINT语句来设置一些命名标记.如果想要回滚到那个标记点位置,需要使用ROLLBACK语句来指定哪个保存点. mysql> truncate table d; Query OK, rows affected (0.02 sec) mysql> start transaction; Query OK, rows affected (0.00 sec) mysql> insert into d values(…
在web开发中,如果JSP.Servlet或EJB使用JDBC直接访问数据库,每一次数据访问请求都必须经历建立数据库连接,打开数据库,存取数据库和关闭数据库连接等操作步骤,如果频繁发生这种数据库操作,系统的性能必然会急剧下降,甚至会导致系统崩溃.数据库连接池技术是解决这个问题最常用的方法,在许多应用程序服务器(例如:Weblogic,WebSphere,JBoss)中,基本都提供了这项技术. 数据库连接池负责分配.管理和释放数据库的连接. 1. 数据库连接复用.重复使用现有的数据库连接,可以避免…
首先: 1 .  EXISTS 子查询找到的提交 NOT EXISTS 子查询中 找不到的提交 说明:不要去翻译为存在和不存在,把脑袋搞晕. 2 . 建立程序循环的概念,这是一个动态的查询过程.如 FOR循环 . 3 . Exists执行的流程Exists首先执行外层查询,再执行内存查询,与IN相反. 流程为首先取出外 层中的第        一  元组, 再执行内层查询,将外层表的第一元组代入,若内层查询为真,即有结果 时.返回外层表中的第一元 组,接着取出第二元组,执行相同的算法.一直到扫描…
1.查询课程编号为“01”的课程比“02”的课程成绩高的所有学生的学号(重点) SELECT a.s_id,a.s_score FROM (') as a INNER JOIN (') as b on a.s_id=b.s_id WHERE a.s_score>b.s_score; 15.查询两门及其以上不及格课程的同学的学号,姓名及其平均成绩(重点) SELECT a.s_id,a.s_name,avg(s_score) FROM student as a INNER JOIN score a…