SQL Sever实验二 交互式 SQL
一. 实验目的
1.观察查询结果, 体会 SELECT 语句实际应用;
2.要求学生能够使用 SELECT 语句进行数据库查询。
3. 熟练掌握各种查询的操作方法。
二. 实验准备
1. 完成实验一所要求的 stsc 数据库,成功建立了基本表,并录入相应数据。
2. 了解 SELECT 语句的用法。
3. 熟悉查询分析器中的 SQL 脚本运行环境。
三. 实验要求
完成实验内容中的查询操作,并查看运行结果提交实验报告。
四. 实验内容
1. 查询选修了 X 号课程的学生学号和成绩,并要求对查询结果按成绩的降序排列, 如果成绩相同则按学号的升序排列;
2. 查询选修了 X 号课程且成绩在 80-90 之间(包括 80 和 90)的学生学号和成绩;
3. 查询计算机学院和数学学院的姓张的学生的信息;
4. 查询缺少了成绩的学生的学号和课程号。
5. 查询每个学生的情况以及他(她)所选修的课程;
6. 查询选修了“数据库”课程的学生的学号,姓名,成绩;
7. 查询学生学号为 X 所选修课程的总学分;
8. 查询每门课程号和选修该课程的人数;
9. 查询选修课程超过 X 门课的学生学号。
一
USE stsc
SELECT a.stno, b.grade
FROM Student a, Score b, Course c
WHERE c.cno = '801' AND a.stno = b.stno AND b.cno = c.cno
ORDER BY b.grade DESC, a.stno
二
USE stsc
SELECT a.stno, b.grade
FROM Student a, Score b, Course c
WHERE c.cno = '801' AND a.stno = b.stno AND b.cno = c.cno AND b.grade >= 80 AND b.grade <= 90
三
USE stsc
SELECT *
FROM Student
WHERE stname LIKE '张%' AND speciality = '计算机' OR speciality = '数学'
四
USE stsc
SELECT a.*, c.
FROM Student a, Score b, Course c
WHERE a.stno = b.stno AND b.cno = c.cno AND b.grade IS NULL
五
USE stsc
SELECT a.*, c.cname
FROM Student a, Score b, Course c
WHERE a.stno = b.stno AND b.cno = c.cno
六
USE stsc
SELECT a.stno, a.stname, b.grade
FROM Student a, Score b
WHERE a.stno = b.stno AND b.cno = '203'
七
USE stsc
SELECT a.stno, SUM(b.grade) AS '总成绩'
FROM Student a, Score b, Course c
WHERE a.stno = '121001' AND a.stno = b.stno AND b.cno = c.cno
GROUP BY a.stno
八
USE stsc
SELECT c.cno, COUNT(*) AS '总人数'
FROM Student a, Score b, Course c
WHERE a.stno = b.stno AND b.cno = c.cno
GROUP BY c.cno
九
USE stsc
SELECT a.stno
FROM Student a, Score b, Course c
WHERE a.stno = b.stno AND b.cno = c.cno
GROUP BY a.stno
HAVING COUNT(*) >= 2
SQL Sever实验二 交互式 SQL的更多相关文章
- SQL Sever实验三 视图与数据更新
一. 实验目的 1.掌握创建视图的 SQL 语句,数据更新的 SQL 语句. 2.了解使用创建视图向导创建视图的方法. 3.掌握使用 SQL 创建视图的方法,使用 SQL 更新数据的方法. 二. 实验 ...
- SQL Sever实验一 创建和删除数据库数据表
一. 实验目的 1. 熟悉SQL Server 2008 中SQL Server Management Studio的环境 2. 了解SQL Server ...
- SQL Server数据库(SQL Sever语言 函数以及SQL编程)
1.数学函数:操作一个数据,返回一个结果 --去上限: ceiling ☆select ceiling(price) from car --去下限:floor ☆select floor(price) ...
- SQL学习(二)SQL基础的增删改查
在测试时使用数据库时,用的比较多的就是增删改查SQL了. 一.增加(insert into ...values) 用于向表中插入新记录 1.不指定列(表示:依次插入所有列的值) insert into ...
- SQL Sever 各版本下载 SQL Server 2012下载SQL Server 2008下载SQL Server 2005
SQL Server 2012SQL Server 2012 开发版(DVD)(X64,X86)(中文简体)ed2k://|file|cn_sql_server_2012_developer_edit ...
- 哈工大数据库系统 实验:练习并熟练掌握交互式 SQL 语言
实验目的:基于给定的 OrderDB 数据库, 练习并熟练掌握交互式 SQL 语言实验环境:sql sever 2008 附:OrderDB 表结构及表间的关系 /* 1 查询职工工资按高低排序的前2 ...
- 练习并熟练掌握交互式 SQL 语言
哈工大数据库系统 实验:练习并熟练掌握交互式 SQL 语言 实验目的:基于给定的 OrderDB 数据库, 练习并熟练掌握交互式 SQL 语言实验环境:sql sever 2008 附:Order ...
- SQL Sever 2012 如何建立数据库连接
SQL Sever 2012 如何建立数据库连接 一.下载 http://www.microsoft.com/zh-cn/download/details.aspx?id=29062 下载后直接安装即 ...
- SQL Sever 学习系列之三
SQL Sever 学习系列之三 SQL Server 学习系列之一(薪酬方案+基础) SQL Server 学习系列之二(日期格式问题) 五.经理今天刚谈到with的用法(with的 ...
随机推荐
- 84 落单的数 III
原题网址:http://www.lintcode.com/zh-cn/problem/single-number-iii/# 给出2*n + 2个的数字,除其中两个数字之外其他每个数字均出现两次,找到 ...
- spss-数据抽取-拆分与合并
spss-数据抽取-拆分与合并 数据抽取也成为数据拆分,是指保留.抽取原数据表中某些字段.记录的部分信息,形成一个新字段.新纪录.分为:字段拆分和随机抽样两种方法. 一:字段拆分 如何提取" ...
- 2019-6-27-WPF-如何给定两个点画出一条波浪线
title author date CreateTime categories WPF 如何给定两个点画出一条波浪线 lindexi 2019-6-27 10:17:6 +0800 2019-6-26 ...
- P1080(python 高精度)
https://www.luogu.org/problem/P1080 n=int(input()) s=input().split() S=int(s[0]) T=int(s[1]) a=[] fo ...
- Gym 100712H
Gym 100712Hhttps://vjudge.net/problem/195715/origin先缩点,再建立新图,然后跑两遍dfs求树上最长路 #include<iostream> ...
- JZOJ5822 【NOIP提高A组模拟2018.8.16】 量子纠缠
这是一道很巧妙的题目. 今早,我调了好久,终于将它切掉了-- 题目 Description Input 第一行包含一个正整数 m,代表操作数. 接下来 m 行,每行可能有以下形式: 1 s 代表将数字 ...
- svn 设置快捷命令
# some more svn aliases alias svnset='svn propset svn:externals . -F' alias svnget='svn propget svn: ...
- JAVA_环境配置
1:系统环境 windows10 64位 jdk版本:jdk-8u131-windows-x64.exe,下载地址:http://www.oracle.com/technetwork/java/jav ...
- Activiti实战04_简单流程
在Activiti实战03_Hello World中我们介绍了一个中间没有任何任务的流程,实现了流程的部署与查阅,而在本章中,将会为流程添加任务节点,是流程能够像个流程,变得更加丰满起来. 在上一节的 ...
- python的collections应用为字典哈希
import collections allNum=collections.defaultdict(int) allNum[1]+=1 allNum[5]+=1 print(allNum) 当然,de ...