SQL Server 数据查询

news2025/1/17 17:51:13

文章目录

  • 前言
  • 首先在SQL Server 2008 中新建一个数据库chaxun.在库中建三个表,结构如下表所示,并且录入数据.
    • 1.
    • 2.
      • (1)在KC表中查询学分低于三分的课程信息,并按课程号升序排列
      • (2)在XS_KC表中按学号分组汇总学生的平均分,并按平均分的降序排列
      • (3)在XS_KC表中查询至少选修了2门课程的学生学号和姓名
      • (4)查询成绩不及格的学生的基本信息
      • (5)分别用子查询和连接查询,查询101号课程不及格的基本信息
      • (6)在XS表中查询住在同一宿舍的学生信息,即其所住宿舍电话相同
      • (7)查询XS表中的所有系名
      • (8)查询有多少名同学选修了课程
      • (9)查询与杨颖同在一个系的同学姓名
      • (10)查询选修了课程的学生的姓名、课程名与成绩
      • (11)修改经管系电话号码为3615555
      • (12)统计每门课程的选课人数和最高分
      • (13)统计每个学生的选课门数和考试总成绩,并按选课门数的降序排列
      • (14)查询有多少名学生没有选课
  • 总结


前言

首先在SQL Server 2008 中新建一个数据库chaxun.在库中建三个表,结构如下表所示,并且录入数据.

1.

在这里插入图片描述
在这里插入图片描述

CREATE DATABASE  chaxun
ON PRIMARY                     
(NAME=chaxun_data,              
 FILENAME='D:\software\chaxun.mdf',
 SIZE=10MB,
 MAXSIZE=UNLIMITED,           
 FILEGROWTH=10% 
)
 LOG ON 
 (NAME=chaxun_log,
  FILENAME='D:\software\chaxun.ldf',

  SIZE=1MB,
  MAXSIZE=5MB,
  FILEGROWTH=1MB
 )

 use chaxun 
  create table KC
(
c_ID char(3) primary key,
c_Name char(10) not null,
c_Credit int
)

create table XS
(
s_ID char(4) primary key,
s_Name char(6) not null,
s_department char(20) not null,
s_telephoe char(11)
)


create table XS_KC
(
s_ID char(4) foreign key references XS(s_ID),
c_ID char(3) foreign key references KC(c_ID),
score int,
primary key(s_ID,c_ID)
)

在这里插入图片描述
KC表数据:

insert into KC values('101','语文',4)
insert into KC values('102','数学',2)
insert into KC values('103','英语',3)
insert into KC values('104','体育',1)

在这里插入图片描述
XS表数据:

insert into XS values('1001','杨颖','信息技术系','2346666')
insert into XS values('1002','王丽','信息技术系','2346666')
insert into XS values('1003','张亮','经管系','2315555')
insert into XS values('1004','刘强','会计系','2361111')

在这里插入图片描述
XS_KC表数据:

insert into XS_KC values('1001','101',89)
insert into XS_KC values('1001','102',97)
insert into XS_KC values('1001','103', 86)
insert into XS_KC values('1002', '101',56)
insert into XS_KC values('1003', '102',55)

在这里插入图片描述

2.

(1)在KC表中查询学分低于三分的课程信息,并按课程号升序排列

select * from KC
where C_Credit<3 order by c_ID ASC

在这里插入图片描述

(2)在XS_KC表中按学号分组汇总学生的平均分,并按平均分的降序排列

select s_ID,AVG(score) 平均分 from XS_KC 
group by s_ID
order by AVG(score) DESC

在这里插入图片描述

(3)在XS_KC表中查询至少选修了2门课程的学生学号和姓名

select  s_Name,XS.s_ID from XS_KC,XS  where XS.s_ID=XS_KC.s_ID
group by XS.s_ID,s_Name having COUNT(XS_KC.c_ID)>=2

在这里插入图片描述

(4)查询成绩不及格的学生的基本信息

方法1

select XS.* from XS,XS_KC
where XS.s_ID=XS_KC.s_ID and score<60

方法2(子查询)

select * from XS where s_ID in (select s_ID from XS_KC where score<60)

在这里插入图片描述

(5)分别用子查询和连接查询,查询101号课程不及格的基本信息

子查询

select * from XS where s_ID in(select distinct s_ID from XS_KC
where XS_KC.c_ID='101' and score <60)

在这里插入图片描述

连接查询

select XS.* from XS join XS_KC on XS.s_ID=XS_KC.s_ID  
where XS_KC.c_ID='101' and score <60

在这里插入图片描述

(6)在XS表中查询住在同一宿舍的学生信息,即其所住宿舍电话相同

select * from XS where s_telephoe in 
(select  s_telephoe from XS group by s_telephoe having COUNT(s_telephoe)>=2)

在这里插入图片描述

(7)查询XS表中的所有系名

select distinct s_department from XS

在这里插入图片描述

(8)查询有多少名同学选修了课程

select COUNT(distinct s_ID ) 已选课人数 from XS_KC

在这里插入图片描述

(9)查询与杨颖同在一个系的同学姓名

方法1

select x.s_Name from XS as x,XS as y
where x.s_department=y.s_department and y.s_Name='杨颖' and x.s_Name<>'杨颖'

在这里插入图片描述
方法2

select s_Name from XS where s_department=
(select s_department from XS where s_Name='杨颖') and s_Name <>'杨颖'

在这里插入图片描述

(10)查询选修了课程的学生的姓名、课程名与成绩

方法1

select s_Name,c_Name,score from XS,KC,XS_KC
where XS.s_ID=XS_KC.s_ID and KC.c_ID=XS_KC.c_ID

在这里插入图片描述
方法2

select s_Name,c_Name,score from XS join XS_KC on XS.s_ID=XS_KC.s_ID
join KC on KC.c_ID=XS_KC.c_ID

在这里插入图片描述

(11)修改经管系电话号码为3615555

update XS set s_telephoe='3615555' where s_department='经管系'

在这里插入图片描述

(12)统计每门课程的选课人数和最高分

select c_ID,COUNT(s_ID) 选课人数,MAX(score) 最高分 from XS_KC group by c_ID

在这里插入图片描述

(13)统计每个学生的选课门数和考试总成绩,并按选课门数的降序排列

select s_ID,COUNT(c_ID) 选课门数,SUM(score) 总成绩 from XS_KC
group by s_ID order by COUNT(c_ID) DESC

在这里插入图片描述

(14)查询有多少名学生没有选课

select COUNT(s_ID) 未选课人数 from XS where s_ID not in 
(select s_ID from XS_KC)

在这里插入图片描述


总结

今天的数据库学习内容就到这里啦,如果对友友们有帮助的话,记得点赞收藏博客,关注后续的数据库学习内容哦~👻👻👻
请添加图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/415369.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

「文心一言」内测详细使用体验

★观前提示&#xff1a;以下内容仅为内测测试内容&#xff0c;不代表未来正式版如何&#xff0c;或许你认为它与chatgpt仍有不小的差距&#xff0c;或许你认为它目前做的已经不错了&#xff0c;都可以&#xff0c;但是咱们测试体验&#xff0c;只讲述体验&#xff0c;本篇文章不…

【数字图像处理】直方图均衡化

文章目录1. 算法原理2. 算法缺陷及改进2.1 缺陷2.2 改进3. 实现3.1 调包侠版本3.2 自由发挥版本1. 算法原理 直方图均衡化是一种常见的图像增强方法&#xff0c;可以增强图像的对比度。其数学原理如下&#xff1a; 首先&#xff0c;我们需要了解直方图的概念。直方图是对图像…

Bezier Curve 贝塞尔曲线 - 在Unity中实现路径编辑

文章目录简介一阶贝塞尔曲线二阶贝塞尔曲线三阶贝塞尔曲线图形理解 Bezier Curve一阶贝塞尔曲线二阶贝塞尔曲线三阶贝塞尔曲线应用Bezier CurveSimpleBezierCurvePathSimpleBezierCurvePathAlonger简介 贝塞尔曲线&#xff08;Bezier Curve&#xff09;&#xff0c;又称贝兹曲…

人工智能概述

一、人工智能发展必备三要素 算法 数据 算力 CPU、GPU、TPU 计算力之CPU、GPU对比&#xff1a; CPU主要适合I\O密集型任务GPU主要适合计算密集型任务 什么样的程序适合在GPU上运行&#xff1f; 计算密集型的程序 所谓计算密集型(Compute-intensive)的程序&#xff0c;就是…

【K8S系列】深入解析无状态服务

目录 序言 1. 无服务介绍 1.1 优点 1.2 使用场景 1.3 资源类型 1.4 总结 2 使用介绍 2.1 Deployment 使用场景&#xff1a; 2.2 ReplicaSet 使用场景 2.3 pod Pod 资源定义示例 2.4 service 创建一个Deployment&#xff1a; 创建一个Service&#xff1a; 总结…

前置知识——Linux网络虚拟化

Linux网络虚拟化 信息是如何通过网络传输被另一个程序接收到的&#xff1f; 我们讨论的虚拟化网络是狭义的&#xff0c;它指容器间网络。 好了&#xff0c;下面我们就从 Linux 下网络通信的协议栈模型&#xff0c;以及程序如何干涉在协议栈中流动的信息来开始了解吧。 Linux…

基于飞桨实现的特定领域知识图谱融合方案:ERNIE-Gram文本匹配算法

文本匹配任务在自然语言处理领域中是非常重要的基础任务&#xff0c;一般用于研究两段文本之间的关系。文本匹配任务存在很多应用场景&#xff0c;如信息检索、问答系统、智能对话、文本鉴别、智能推荐、文本数据去重、文本相似度计算、自然语言推理、问答系统、信息检索等&…

【MySQL】了解MySQL的Explain,读这一篇够了( ̄∇ ̄)/

目录 ID select_type 查询类型 table 表名 type 关联类型/访问类型 possible_keys MySQL觉得可能要用到的索引 key 实际用到的索引 key_len 用到的索引的长度&#xff08;比如可用于判断使用了联合索引中的哪几个&#xff09; ref 表查找值所用的列&#xff08;表名.字…

Transformer在计算机视觉中的应用-VIT、TNT模型

上期介绍了Transformer的结构、特点和作用等方面的知识&#xff0c;回头看下来这一模型并不难&#xff0c;依旧是传统机器翻译模型中常见的seq2seq网络&#xff0c;里面加入了注意力机制&#xff0c;QKV矩阵的运算使得计算并行。 当然&#xff0c;最大的重点不是矩阵运算&…

行人车辆检测与计数系统(Python+YOLOv5深度学习模型+清新界面)

摘要&#xff1a;行人车辆检测与计数系统用于交通路口行人及车辆检测计数&#xff0c;道路人流量、车流量智能监测&#xff0c;方便记录、显示、查看和保存检测结果。本文详细介绍行人车辆检测&#xff0c;在介绍算法原理的同时&#xff0c;给出Python的实现代码、PyQt的UI界面…

【并发编程Python】一文详解Python并发编程,协程、线程、进程

并发编程简介和一些前缀知识 并发编程是使得程序大幅度提速的。在并发编程中&#xff0c;程序可以同一时间执行多个任务&#xff0c;这有助于提高程序的吞吐量和响应时间。并发编程设计的主要概念包括线程、锁、同步、信号量、进程间通信等。 前缀知识&#xff1a; IO&#x…

Linux中shell内外命令讲解(上)

♥️作者:小刘在C站 ♥️个人主页:小刘主页 ♥️每天分享云计算网络运维课堂笔记,努力不一定有收获,但一定会有收获加油!一起努力,共赴美好人生! ♥️夕阳下,是最美的绽放,树高千尺,落叶归根人生不易,人间真情 前言 本章Linuxshell讲解,感谢观看,干货满满。 目录…

在windows内使用virtualbox搭建安卓x86,以及所遇到的问题解决--2.virtualbox上安卓x86的配置

目录: 简要说明&#xff1a; 1.配置vesa驱动&#xff1a; 2.启用网络连接并配置adb&#xff1a; 3.增强性能的方法&#xff1a; 简要说明&#xff1a; 先进行说明一点个人直接通过vbox VMware这些软件&#xff0c;并不能超越专业的安卓模拟器&#xff0c;大部分模拟器实际…

使用Pytorch实现对比学习SimCLR 进行自监督预训练

SimCLR&#xff08;Simple Framework for Contrastive Learning of Representations&#xff09;是一种学习图像表示的自监督技术。 与传统的监督学习方法不同&#xff0c;SimCLR 不依赖标记数据来学习有用的表示。 它利用对比学习框架来学习一组有用的特征&#xff0c;这些特征…

【创作赢红包】Java Web 实战 18 - 计算机网络之网络层协议 and 数据链路层协议

文章目录网络层协议1. IP 协议1.1 报头结构1.2 IP 协议的地址管理动态分配 IP 地址 (DHCP)IP 地址转换 (NAT)IPv61.3 IP 地址的组成2. 路由选择数据链路层1. 以太网协议2. 以太网帧格式2.1 mac 地址2.2 两个特殊的以太网数据帧DNS 域名解析系统六 . 经典面试题 : 从浏览器中输入…

微信小程序 | 基于ChatGPT实现模拟面试小程序

Pre&#xff1a;效果预览 ① 选择职位进行面试 ② 根据岗位职责进行回答 一、需求背景 这两年IT互联网行业进入寒冬期&#xff0c;降本增效、互联网毕业、暂停校招岗位的招聘&#xff0c;各类裁员、缩招的情况层出不穷&#xff01;对于这个市场来说&#xff0c;在经历了互联网…

小白学Pytorch系列--Torch API (7)

小白学Pytorch系列–Torch API (7) Comparison Ops allclose 此函数检查输入和其他是否满足条件&#xff1a; >>> torch.allclose(torch.tensor([10000., 1e-07]), torch.tensor([10000.1, 1e-08])) False >>> torch.allclose(torch.tensor([10000., 1e-…

MATLAB | 如何自然好看的从图片中提取颜色并制作色卡

在这里研究了一下各种排序算法&#xff0c;写一篇如何由图片一键生成颜色条的方法。 1 关于大量颜色排序 假设有大量颜色怎么对其进行排序呢&#xff0c;首先想到的最简单方法就是将其按照RGB值的大小进行排序&#xff0c;为了方便展示颜色条&#xff0c;这里编写了一个颜色条…

【Pytorch】 理解张量Tensor

本文参加新星计划人工智能(Pytorch)赛道&#xff1a;https://bbs.csdn.net/topics/613989052 这是目录张量Tensor是什么&#xff1f;张量的创建为什么要用张量Tensor呢&#xff1f;总结张量Tensor是什么&#xff1f; 在深度学习中&#xff0c;我们经常会遇到一个概念&#xff…

初探Redis整体架构

文章目录1、Redis为什么选择单线程2、逐步加入多线程3、Redis采用IO多路复用---epoll和Reactor架构4、Redis6/7默认是否开启了多线程&#xff1f;1、Redis为什么选择单线程 这种问法其实并不严谨&#xff0c;为啥这么说呢? Redis几个里程碑式的重要版本 理清一个事实&#…