面试题:sql数据查询

前几天参加一个面试,面试公司让做一套题,sql题不是很难,但是我第一次还是写错了,回来后,重新写了下。简单记录下吧,

1.题目:

2.测试数据

select * from student ;

insert into student(name,subject,score) values(‘张‘,‘语文‘,96) ;
insert into student(name,subject,score) values(‘张‘,‘数学‘,62) ;
insert into student(name,subject,score) values(‘张‘,‘英语‘,85) ;
insert into student(name,subject,score) values(‘王‘,‘语文‘,12) ;
insert into student(name,subject,score) values(‘王‘,‘英语‘,100) ;
insert into student(name,subject,score) values(‘李‘,‘数学‘,10) ;
insert into student(name,subject,score) values(‘赵‘,‘英语‘,88) ;

 student表 ,一共三个字段 name ,subject ,score (数据类型分别为 varchar(50),varchar(50),int),测试表,比较简单。

3.我写的sql

select m.name from (
	select s.name ,s.score ,DENSE_RANK() over(PARTITION by s.name order by s.score asc) as score_rank from student s
) m where m.score_rank = 1 and m.score >=60 ;

如有异议,欢迎指正。

时间: 2024-10-06 19:20:29

面试题:sql数据查询的相关文章

SQL数据查询之——嵌套查询

一.概念描述 在SQL语言中,一个 SELECT-FROM-WHERE 语句称为一个查询块.将一个查询块嵌套在另一个查询块的 WHERE 子句或 HAVING 短语的条件中的查询称为 嵌套查询.例如: SELECT Sname /*外层查询或父查询*/ FROM Student WHERE Sno IN (SELECT Sno /*内层查询或子查询*/ FROM SC WHERE Cno='2'); SQL语言允许多层嵌套查询,即一个子查询中还可以嵌套其他子查询. 注意:子查询的SELECT语句

数据库面试题——比赛数据查询

这次面试比较特殊,给了试卷,让直接口头回答,说实话,挺喜欢这样的. 最后一道是数据库题,表如下 自己YY了初始化语句 mysql> create table fmatch( mdate date, team varchar(20),res enum('WIN','LOSE') ); mysql> insert into fmatch values('2010-10-19','76ers','WIN'); Query OK, 1 row affected (0.07 sec) mysql>

sql数据查询,在程序中较慢,在MS SQL2005 Management Studio中速度快,情况分析及解决

这两天遇到一个问题,在.net开发的网站,执行sql查询,从sql profiler中监控卡看,执行时间22s. 但是拷出的sql在Management Studio中直接执行,时间仅4ms. 解决方案如下,在sql语句中添加 “SET ARITHABORT ON;” 即可. 解决方案解析: SQL Server Management Studio 的默认 ARITHABORT 设置为 ON. 客户端应用程序将 ARITHABORT 设置为 OFF 可以接收不同的查询计划,使得对性能较差的查询进

SQL数据查询语句(一)

本文所用数据库为db_Test,数据表为Employee 一.SELECT语句基本结构 语句语法简单归纳为: SELECT select_list [INTO new_table_name] [FROM table_source] [WHERE search_condition] [GROUP BY group_by_expression] [HAVING search_condition] [ORDER BY order_expression [ASC | DESC]] 备注:红色字体为自定义

SQL数据查询

CREATE TABLE class0328( id INT, cname VARCHAR(10), sex VARCHAR(5), age INT, birthday DATE, html DOUBLE, js DOUBLE, score DOUBLE ) DESC class0328; DROP TABLE class0328; INSERT INTO class0328 VALUES(1,'董斌','男',25,'1993-09-13',80,10,60); INSERT INTO cla

开源大数据查询分析引擎现状

引言 大数据查询分析是云计算中核心问题之一,自从Google在2006年之前的几篇论文奠定云计算领域基础,尤其是GFS.Map-Reduce.Bigtable被称为云计算底层技术三大基石.GFS.Map-Reduce技术直接支持了Apache Hadoop项目的诞生.Bigtable和Amazon Dynamo直接催生了NoSQL这个崭新的数据库领域,撼动了RDBMS在商用数据库和数据仓库方面几十年的统治性地位.FaceBook的Hive项目是建立在Hadoop上的数据仓库基础构架,提供了一系列

6、SQL Server 数据查询

一.使用SELECT检索数据 数据查询是SQL语言的中心内容,SELECT 语句的作用是让数据库服务器根据客户要求检索出所需要的信息资料,并按照规定的格式进行整理,返回给客户端. SELECT 语句的基本结构 [WITH<common_tale_expression>] SELECT select_list [INTO new_table_name] [FROM table_source][where search_condition] [GROUP BY group_by_expressio

sql语句查询后几行数据并倒着排列

$conn = mysql_connect("数据库地址","用户名","密码"); if(!$conn) { die("mysql conn failed"); } else{ mysql_query("SET NAMES 'utf8'"); mysql_select_db("数据表",$conn); if(!$conn) { die("database selected f

Oracle EBS-SQL (MRP-7):检查MRP计划运行报错原因之超大数据查询2.sql

The following scripts can be used to check for huge line numbers: -- PO Requisitions select * from PO_REQUISITION_LINES_ALL where LINE_NUM > 1000000000; -- PO Lines select * from PO_LINES_ALL where LINE_NUM > 1000000000; -- Receiving Supply SELECT *