在面试中遇到了这样的问题,不知道大家是怎么解决的,是关于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
分享到:
相关推荐
在SQL面试中,掌握核心概念和技术是至关重要的。以下是一些关键知识点的详细解析: 1. **SQL(Structured Query Language)**:SQL是用于...熟悉这些内容并能结合实际经验进行讨论,将大大增加你在SQL面试中的成功率。
数据库实战把一些工作中遇到的以及在网上找到的面试题进行了sql语句自己编辑以及测试.zip数据库实战把一些工作中遇到的以及在网上找到的面试题进行了sql语句自己编辑以及测试.zip数据库实战把一些工作中遇到的以及在...
- DQL(Data Query Language):查询数据,这是SQL中最常用的部分,包括SELECT语句。 2. 基本查询: - SELECT语句:学习如何选择特定列、所有行或特定行,使用WHERE子句进行条件过滤。 - JOIN操作:了解INNER ...
下面将详细讨论SQL Server中的核心知识点,这些都是面试中可能遇到的问题。 1. 数据定义语言 (DDL): 包括CREATE, ALTER, DROP和DECLARE等命令,用于定义数据库对象如数据库、表、视图等。CREATE DATABASE用于创建新...
这些是SQL面试中可能遇到的常见问题,通过深入学习和实践,不仅可以提升面试表现,还能提高在实际工作中处理数据库问题的能力。对于每个主题,都建议深入理解并能编写相关的SQL语句。此外,了解不同的数据库管理系统...
在SQL中,查询和清除重复数据是数据库管理中常见的任务,尤其在面试中,这个问题经常被用来测试候选人的技能和经验。以下是对这个主题的详细解释。 首先,我们需要理解什么是重复数据。在数据库中,重复数据指的是...
### 面试Oracle必备的SQL语句知识点详解 #### 1....这些查询语句涵盖了Oracle数据库管理的各个方面,包括表空间管理、数据库对象管理、性能监控等,对于准备面试或日常工作中遇到的问题都非常实用。
下面,我们将详细探讨SQL Server面试中可能涉及的常见知识点以及如何配置数据库邮件。 1. **SQL Server数据库邮件**: - 数据库邮件是SQL Server中的一个组件,允许数据库管理员和应用程序通过SQL Server代理发送...
删除冗余数据是SQL开发中经常遇到的问题,需要使用subquery来删除重复的记录。例如题目中,删除除学号id字段以外,其他字段都相同的冗余数据,只保留一条记录。这种情况下,可以使用NOT IN子句来删除重复的记录。 ...
以下是一些在DBA面试中可能会遇到的SQL Server相关知识点,这些知识点涵盖了从基础到高级的多个层面。 1. **SQL Server体系结构**:了解SQL Server如何组织和存储数据,包括数据文件(MDF)、日志文件(LDF)和索引...
以上是SQL面试中可能遇到的一些高级问题和解答,涵盖了表操作、查询优化、联接、聚合函数、分页、子查询等多个方面,对于理解和掌握SQL的高级用法非常重要。在面试中,理解并能够灵活运用这些技巧将有助于展示你的...
1. **选择查询(SELECT)**:理解如何从一个或多个表中选择数据,包括使用WHERE子句进行条件过滤,使用GROUP BY和HAVING对数据进行分组和过滤,以及使用ORDER BY进行排序。 2. **联接查询(JOIN)**:包括内连接...
在SQL Server 2008面试中,面试官可能会询问一系列通用的问题,旨在了解候选人的专业背景、工作经历以及对数据库管理系统的理解。以下是一些关键的知识点,这些知识点不仅适用于SQL Server 2008,也适用于更广泛的...
整理mysql、oracle数据库相关 笔试面试题,主要为了应对面试过程中遇到的sql题目 、.学生表 Student(SID,Sname,Sage,Ssex) --SID 学生编号,Sname 学生姓名,Sage 出生年月,Ssex 学生性别 2.课程表 Course(CID,...
在SQL测试题目(面试经典)这个主题中,我们聚焦于SQL语言的核心概念、查询技巧以及在实际面试场景中可能遇到的复杂问题。SQL,全称Structured Query Language,是用于管理和处理关系数据库的标准语言。掌握SQL对于...
面试中可能会遇到各种与SQL Server相关的题目,这些题目旨在测试你的数据库理论知识、SQL编写能力以及对SQL Server特性的理解。下面将详细解答给定文件中提到的一些问题。 1. SQL Server 的表数量和结构限制: - ...
SQL面试题收集是指通过收集和整理SQL相关问题,帮助开发人员和数据库管理员备战面试和工作中遇到的挑战。本文档汇总了多种表连接方式,包括等连接、非等连接、自连接、外连接(左、右、全)等,并对每种连接方式进行...
本资源“Oracle学习开发常用的SQL和存储过程学习(内含SQL面试题目和存储过程,函数面试题目).zip”提供了全面的学习材料,旨在帮助初学者和求职者提升在Oracle数据库中的SQL查询和存储过程编写技能。 SQL...
本文为零基础的面试者提供了2024年SQL语句常考面试题的全面指南,旨在帮助他们掌握面试中可能遇到的SQL相关问题。内容涵盖了SQL基础概念、数据类型、SELECT语句、WHERE子句、ORDER BY子句、INSERT INTO语句、UPDATE...