`
cuiran
  • 浏览: 82268 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

面试中遇到sql,进行查询

阅读更多

在面试中遇到了这样的问题,不知道大家是怎么解决的,是关于sql的。

我是这么写的。

 

在数据库库中建这样一张表

/****** Object:  Table [dbo].[Student]    Script Date: 2009-1-15 16:46:41 ******/
if exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[Student]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
drop table [dbo].[Student]
GO

/****** Object:  Table [dbo].[Student]    Script Date: 2009-1-15 16:46:41 ******/
CREATE TABLE [dbo].[Student] (
 [id] [int] IDENTITY (1, 1) NOT NULL ,
 [name] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
 [lesson] [varchar] (50) COLLATE Chinese_PRC_CI_AS NULL ,
 [mark] [int] NULL
) ON [PRIMARY]
GO

里面的值:有很多的我只写了部分。

 

id name lesson mark
1 tom English 90
2 lin Math 80
3 john Chinese 70
4 tom Math 87
5 tom Chinese 78
6 lin English 87
7 lin Chinese 88
8 john Math 45
9 john English 55
10 aaa Chinese 56
11 aaa Math 67
12 aaa English 87
13 bbb Chinese 90
14 bbb Math 78
15 bbb English 87
16 ccc Chinese 43
17 ccc Math 50
18 ccc English 56
19 ddd Chinese 98
20 ddd Math 78
21 ddd English 80
22 eee Chinese 87
23 eee Math 77
24 eee English 87

 

 

 

select * from Student

--1.有不及格学科学生名字
select distinct name from Student where mark<60
--2.超出一门学科不及格的学生名字
select distinct name from Student where mark<60

--3.所有学科都不及格
  ---第一种
 select distinct name from Student as s where  name in(select distinct name from Student)  and (select mark from Student where lesson= 'Chinese'  and name=s.name ) <60  and
(select mark from Student where lesson='Math' and name=s.name ) <60  and (select mark from Student where lesson='English' and name=s.name ) <60

--4.Math排名前三包括并列
 
select top 3 name, lesson,mark from Student  where lesson='Math' order by(mark)  desc

--5.总分排名前三(包括并列)
select top 3 name ,sum(mark) as total from Student group by(name) order by(total) desc

--6.列出每一科分数最高者名字及分数
 select name ,l.lesson,l.maxmark  from ( select lesson,  max(mark) as maxmark  from Student group by(lesson)) as l,Student s
where s.mark=l.maxmark and s.lesson=l.lesson

 

分享到:
评论
4 楼 love1907 2009-01-16  
1,select distinct name from Student where mark<60
2,select name ,count(name) as count_na from Student where mark<60 group by name having count_na >=2
3,select name  from Student stu where not exists (select 1 from Student stu1 where stu1.id=stu.id and stu1.mark>=60)
4,select name from Student stu order by stu.mark desc limit 0,3
5,select name,sum(stu.mark) as sum_ma from Student stu group by stu.name order by sum_ma  desc limit 0,3
6,select name,lesson,mark  from student stu1 where exists (select max(stu.mark) as max_mark from Student stu group by stu.lesson having max_mark = stu1.mark   )
3 楼 cuiran 2009-01-16  
xuyao 写道

2是写错了,呵呵 还有就是第三名有两个呢,你不top4吗?

如果正好前三名就三个,分数也不等,top4不就查前四个了。
2 楼 xuyao 2009-01-15  
2是写错了,呵呵
还有就是第三名有两个呢,你不top4吗?
1 楼 zfigo_000 2009-01-15  
超出一门学科不及格的学生名字
select distinct name from Student where mark<60
这个写错了

select name from Student group by name having count(name) > 1 and mark<60

--3.所有学科都不及格
这个你写的非常不好。

相关推荐

    SQL 面试题目汇总

    在SQL面试中,掌握核心概念和技术是至关重要的。以下是一些关键知识点的详细解析: 1. **SQL(Structured Query Language)**:SQL是用于...熟悉这些内容并能结合实际经验进行讨论,将大大增加你在SQL面试中的成功率。

    数据库实战把一些工作中遇到的以及在网上找到的面试题进行了sql语句自己编辑以及测试.zip

    数据库实战把一些工作中遇到的以及在网上找到的面试题进行了sql语句自己编辑以及测试.zip数据库实战把一些工作中遇到的以及在网上找到的面试题进行了sql语句自己编辑以及测试.zip数据库实战把一些工作中遇到的以及在...

    面试SQL经典总结

    - DQL(Data Query Language):查询数据,这是SQL中最常用的部分,包括SELECT语句。 2. 基本查询: - SELECT语句:学习如何选择特定列、所有行或特定行,使用WHERE子句进行条件过滤。 - JOIN操作:了解INNER ...

    SQLServer面试题SQLServer面试题

    下面将详细讨论SQL Server中的核心知识点,这些都是面试中可能遇到的问题。 1. 数据定义语言 (DDL): 包括CREATE, ALTER, DROP和DECLARE等命令,用于定义数据库对象如数据库、表、视图等。CREATE DATABASE用于创建新...

    SQL常见的面试题集锦,非常详尽的题库,非常经典

    这些是SQL面试中可能遇到的常见问题,通过深入学习和实践,不仅可以提升面试表现,还能提高在实际工作中处理数据库问题的能力。对于每个主题,都建议深入理解并能编写相关的SQL语句。此外,了解不同的数据库管理系统...

    经常面试到的SQL题(查询重复数据和清除重复数据)

    在SQL中,查询和清除重复数据是数据库管理中常见的任务,尤其在面试中,这个问题经常被用来测试候选人的技能和经验。以下是对这个主题的详细解释。 首先,我们需要理解什么是重复数据。在数据库中,重复数据指的是...

    面试oracle必备的sql语句

    ### 面试Oracle必备的SQL语句知识点详解 #### 1....这些查询语句涵盖了Oracle数据库管理的各个方面,包括表空间管理、数据库对象管理、性能监控等,对于准备面试或日常工作中遇到的问题都非常实用。

    SQlServer面试题

    下面,我们将详细探讨SQL Server面试中可能涉及的常见知识点以及如何配置数据库邮件。 1. **SQL Server数据库邮件**: - 数据库邮件是SQL Server中的一个组件,允许数据库管理员和应用程序通过SQL Server代理发送...

    经典SQL面试练习50多道题(含答案).docx

    删除冗余数据是SQL开发中经常遇到的问题,需要使用subquery来删除重复的记录。例如题目中,删除除学号id字段以外,其他字段都相同的冗余数据,只保留一条记录。这种情况下,可以使用NOT IN子句来删除重复的记录。 ...

    SQLServer数据库 DBA面试题 最新试卷 SQL面试题

    以下是一些在DBA面试中可能会遇到的SQL Server相关知识点,这些知识点涵盖了从基础到高级的多个层面。 1. **SQL Server体系结构**:了解SQL Server如何组织和存储数据,包括数据文件(MDF)、日志文件(LDF)和索引...

    SQL高级面试题及答案

    以上是SQL面试中可能遇到的一些高级问题和解答,涵盖了表操作、查询优化、联接、聚合函数、分页、子查询等多个方面,对于理解和掌握SQL的高级用法非常重要。在面试中,理解并能够灵活运用这些技巧将有助于展示你的...

    持续更新, 整理mysql、oracle数据库相关 笔试面试题,主要为了应对面试过程中遇到的sql题目

    1. **选择查询(SELECT)**:理解如何从一个或多个表中选择数据,包括使用WHERE子句进行条件过滤,使用GROUP BY和HAVING对数据进行分组和过滤,以及使用ORDER BY进行排序。 2. **联接查询(JOIN)**:包括内连接...

    SQL Server 2008 面试汇总指南

    在SQL Server 2008面试中,面试官可能会询问一系列通用的问题,旨在了解候选人的专业背景、工作经历以及对数据库管理系统的理解。以下是一些关键的知识点,这些知识点不仅适用于SQL Server 2008,也适用于更广泛的...

    整理mysql、oracle数据库相关 笔试面试题,主要为了应对面试过程中遇到的sql题目

    整理mysql、oracle数据库相关 笔试面试题,主要为了应对面试过程中遇到的sql题目 、.学生表 Student(SID,Sname,Sage,Ssex) --SID 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别 2.课程表 Course(CID,...

    SQL测试题目(面试经典)

    在SQL测试题目(面试经典)这个主题中,我们聚焦于SQL语言的核心概念、查询技巧以及在实际面试场景中可能遇到的复杂问题。SQL,全称Structured Query Language,是用于管理和处理关系数据库的标准语言。掌握SQL对于...

    SQL Server 的一些面试题

    面试中可能会遇到各种与SQL Server相关的题目,这些题目旨在测试你的数据库理论知识、SQL编写能力以及对SQL Server特性的理解。下面将详细解答给定文件中提到的一些问题。 1. SQL Server 的表数量和结构限制: - ...

    sql面试题收集.pdf

    SQL面试题收集是指通过收集和整理SQL相关问题,帮助开发人员和数据库管理员备战面试和工作中遇到的挑战。本文档汇总了多种表连接方式,包括等连接、非等连接、自连接、外连接(左、右、全)等,并对每种连接方式进行...

    Oracle学习开发常用的SQL和存储过程学习(内含SQL面试题目和存储过程,函数面试题目).zip

    本资源“Oracle学习开发常用的SQL和存储过程学习(内含SQL面试题目和存储过程,函数面试题目).zip”提供了全面的学习材料,旨在帮助初学者和求职者提升在Oracle数据库中的SQL查询和存储过程编写技能。 SQL...

    面试SQL基础看这里!一天搞定50常考题

    本文为零基础的面试者提供了2024年SQL语句常考面试题的全面指南,旨在帮助他们掌握面试中可能遇到的SQL相关问题。内容涵盖了SQL基础概念、数据类型、SELECT语句、WHERE子句、ORDER BY子句、INSERT INTO语句、UPDATE...

Global site tag (gtag.js) - Google Analytics