SQL实战:子查询的应用实例

简介: SQL实战:子查询的应用实例
  • 本实例设计到的SQL语法包括:
select ,
delete,
distict,
not exists,
not in,
group by,
having,
min,
max
  • 创建成绩表:
CREATE TABLE score(
id INT NOT NULL AUTO_INCREMENT,
NAME VARCHAR(100) NOT NULL,
course VARCHAR(40) NOT NULL,
score INT,
PRIMARY KEY ( id )
);
  • 插入数据:
INSERT INTO score 
(NAME,course,score) VALUES
('张三','语文','81'),
('张三','数学','75'),
('李四','语文','56'),
('李四','数学','76'),
('李四','数学','76'),
('王五','语文','89'),
('王五','语文','89'),
('马六','数学','99')
;
  • 问题1: 用一条SQL 语句,查询出每门课都大于80分的学生姓名.

答:

1.
SELECT DISTINCT NAME FROM score s WHERE
NOT EXISTS
(SELECT 1 FROM score si WHERE si.score<80 AND si.name=s.name); 
2.
SELECT DISTINCT NAME FROM score WHERE NAME 
NOT IN 
(SELECT DISTINCT NAME FROM score WHERE score<=80);
3.
SELECT NAME FROM score GROUP BY NAME HAVING MIN(score)>80; 
  • 问题2: 删除除id不同, 其他都相同的冗余信息。

答:
因为MySQL语法规定,在同一语句中,不能先SELECT出同一表中的某些值,再UPDATE这个表(You can NOT specify target TABLE 'score' FOR UPDATE IN FROM clause。),因此需要写两个子查询。
用NOT IN或NOT EXISTS都可以达到目的,MIN或MAX函数确定保留冗余数据中最小或最大的那一条数据。

1.
DELETE FROM score 
WHERE id NOT IN
(
SELECT id FROM
(SELECT MIN(si.id) FROM score si GROUP BY si.name,si.course,si.score) ss
)
;
2.
DELETE s FROM score s
WHERE NOT EXISTS
(
 SELECT idi FROM
 (SELECT MAX(si.id) idi FROM score si GROUP BY si.name,si.course,si.score) ss
 WHERE s.id=ss.idi
)
;
目录
相关文章
|
2月前
|
SQL 存储 测试技术
SQL在构建系统中的应用:关键步骤与技巧
在构建基于数据库的应用系统时,SQL(Structured Query Language)作为与数据库交互的核心语言,扮演着至关重要的角色
|
1月前
|
SQL 数据库 UED
SQL性能提升秘籍:5步优化法与10个实战案例
在数据库管理和应用开发中,SQL查询的性能优化至关重要。高效的SQL查询不仅可以提高应用的响应速度,还能降低服务器负载,提升用户体验。本文将分享SQL优化的五大步骤和十个实战案例,帮助构建高效、稳定的数据库应用。
50 3
|
1月前
|
SQL 数据库
如何应用SQL约束条件?
【10月更文挑战第28天】如何应用SQL约束条件?
60 11
|
1月前
|
SQL 缓存 监控
SQL性能提升指南:五大优化策略与十个实战案例
在数据库性能优化的世界里,SQL优化是提升查询效率的关键。一个高效的SQL查询可以显著减少数据库的负载,提高应用响应速度,甚至影响整个系统的稳定性和扩展性。本文将介绍SQL优化的五大步骤,并结合十个实战案例,为你提供一份详尽的性能提升指南。
50 0
|
2月前
|
SQL Oracle 关系型数据库
SQL语言的主要标准及其应用技巧
SQL(Structured Query Language)是数据库领域的标准语言,广泛应用于各种数据库管理系统(DBMS)中,如MySQL、Oracle、SQL Server等
|
2月前
|
SQL 数据管理 数据库
SQL语句实例教程:掌握数据查询、更新与管理的关键技巧
SQL(Structured Query Language,结构化查询语言)是数据库管理和操作的核心工具
|
1月前
|
SQL 监控 安全
员工上网行为监控软件:SQL 在数据查询监控中的应用解析
在数字化办公环境中,员工上网行为监控软件对企业网络安全和管理至关重要。通过 SQL 查询和分析数据库中的数据,企业可以精准了解员工的上网行为,包括基础查询、复杂条件查询、数据统计与分析等,从而提高网络管理和安全防护的效率。
29 0
|
2月前
|
SQL 数据库 数据库管理
数据库SQL函数应用技巧与方法
在数据库管理中,SQL函数是处理和分析数据的强大工具
|
2月前
|
SQL 存储 数据库
SQL在构建系统中的应用:关键要素与编写技巧
在构建基于数据库的系统时,SQL(Structured Query Language)扮演着至关重要的角色
|
2月前
|
SQL 关系型数据库 数据库
SQL数据库:核心原理与应用实践
随着信息技术的飞速发展,数据库管理系统已成为各类组织和企业中不可或缺的核心组件。在众多数据库管理系统中,SQL(结构化查询语言)数据库以其强大的数据管理能力和灵活性,广泛应用于各类业务场景。本文将深入探讨SQL数据库的基本原理、核心特性以及实际应用。一、SQL数据库概述SQL数据库是一种关系型数据库
110 5

热门文章

最新文章