【实验目的】
    1、熟悉数据库的交互式SQL语言
    2、熟悉通过SQL语言对数据库进行操作
【实验平台】
    利用安装的SQL SERVER2008及其交互工具来操作SQL语言。

【实验内容】

    对于【实验1】的学生课程数据库的3个基本表

Student(Sno, sname, age, sex)

SC(sno, cno, grade)

Course(cno, cname, teacher)

3个基本表insert输入记录,再用updatedelete更新其中的数据(如果表中已有记录,该操作可忽略)。

建表及输入数据语句:

create  table  Student(
Sno  char(12)  primary  key,
Sname  char(8)  unique,
Sage  smallint,
Ssex  char(2),)create  table  course(
Cno   char(6)  primary key,
Cname  char(20)  not  null,
Teacher  char(8))create  table  SC(
Sno  char(12),
Cno  char(6),
Grade  smallint,
primary key(sno,cno),
foreign  key(sno) references   student(sno),
foreign  key(cno) references  course(cno))insert
into Student(Sno,Sname,Ssex,Sage)
values
(201215121,'李勇','男','20'),
(201215122,'刘晨','女','19'),
(201215123,'王敏','女','18'),
(201215125,'张立','男','19');insert
into Course(Cno,Cname,Teacher)
values
(1,'数据库','LIU'),
(2,'数学','LI'),
(3,'信息系统','WANG'),
(4,'操作系统','LIU'),
(5,'数据结构','ZHANG'),
(6,'数据处理','LIU'),
(7,'PASCAL语言','ZHU');

一、试用SQL的查询语句表达下列查询:

    1.检索LIU老师所授的课程号和课程名

select Cno,Cname
from course
where Teacher='LIU';

   2.检索年龄大于20岁的男学生的学号和姓名

select Sno,Sname
from Student
where Ssex='男' and Sage>=20;

3.检索学号为201215122学生所学课程的课程名与任课教师名(用in和exists引导的嵌套查询分别实现该题)

select Cname,Teacher    /*检索号同学所选修的课程名和任课教师名*/
from course,SC
where Sno='201215122' and course.Cno=SC.Cno;

4.检索至少选修LIU老师所授课程中一门课程的女学生姓名(用连接查询、in和exists引导的嵌套查询分别实现该题)

方法一:

select  sname    /*检索至少选修liu老师所授课程中一门课程的女同学姓名*/
from  Student,course,SC
where   Student.Sno=SC.Sno  and  course.Cno=SC.Cno   and  Ssex='女'  and   Teacher='LIU';

方法二:

 select  sname     /*检索至少选修liu老师所授课程中一门课程的女同学姓名*/from  Studentwhere   ssex='女'  and  exists(select  *from  SC,coursewhere  SC.Sno=Student.Sno  and  course.Cno=SC.Cno  and  Teacher='LIU')

5.检索李勇同学没有选修的课程的课程号(用not exists引导的嵌套查询、集合查询分别实现该题)

方法一:

select Cno    /*检索李勇同学没有选修的课程号*/
from course
where Cno<>all
(select Cno
from Student,SC
where  SC.Sno=Student.Sno and Sname='李勇');

方法二:

select  cno      /*检索李勇同学没有选修的课程号*/
from course
where  not exists(select  *from  Student,SC  where   course.cno=sc.cno  and  Student.Sno=sc.sno  and  Sname='李勇')

6.检索至少选修两门课程的学生学号

select Sno  /*检索至少选修了两门课的学生学号*/
from SC
group by Sno
having COUNT(*)>=2;

7.检索全部学生都选修的课程的课程号与课程名

select cno,Cname   /*检索全部学生都选修的课程的课程名与课程号*/
from   Course
where  Cno in(select  Cnofrom  SCgroup  by  Cnohaving  COUNT(*)=(select  COUNT(*)  from  student))

实验2 SQL 查询语句相关推荐

  1. 没错,纯SQL查询语句可以实现神经网络

    我们熟知的SQL是一种数据库查询语句,它方便了开发者在大型数据中执行高效的操作.但本文从另一角度嵌套SQL查询语句而构建了一个简单的三层全连接网络,虽然由于语句的嵌套过深而不能高效计算,但仍然是一个非 ...

  2. 数据库实验三 SQL查询数据

    实验三 SQL查询数据 实验目的 熟练掌握使用SQL查询语言.完成各类查询操作(单表查询,连接查询,嵌套查询,集合查询). 实验内容 现有一个单位内部的小型图书借阅系统,假设每本图书的数量无限制,并且 ...

  3. SQL查询语句 select 详解

    查询select: 1.单表查询 2.多表查询 3.嵌套查询分类 1)单表查询 2)多表查询 A.连接查询 B.子查询 ①一般子查询 ②相关子查询*************************** ...

  4. MySQL番外篇:一条SQL查询语句是如何执行的?

    在面试的过程中,有的面试官会给出一条简单的SQL查询语句,让简单说一下执行的过程. SELECT * FROM emp where age=30; 以下问MySQL的基本架构图,从中可以看出SQL语句 ...

  5. SQL查询语句总是先执行SELECT?你们都错了。。。

    来源 | infoq.cn/article/Oke8hgilga3PTZ3gWvbg 很多 SQL 查询都是以 SELECT 开始的.不过,最近我跟别人解释什么是窗口函数,我在网上搜索"是否 ...

  6. R语言构建仿真数据库(sqlite)并使用dplyr语法和SQL语法查询数据库、将dplyr语法查询语句翻译为SQL查询语句

    R语言构建仿真数据库(sqlite)并使用dplyr语法和SQL语法查询数据库.将dplyr语法查询语句翻译为SQL查询语句 目录

  7. SQL 查询语句总是先执行 SELECT?你们都错了

    很多 SQL 查询都是以 SELECT 开始的.不过,最近我跟别人解释什么是窗口函数,我在网上搜索"是否可以对窗口函数返回的结果进行过滤"这个问题,得出的结论是"窗口函数 ...

  8. SQL 查询语句总是先执行 SELECT?

    点击上方"朱小厮的博客",选择"设为星标" 后台回复"1024"领取惊喜资料 很多 SQL 查询都是以 SELECT 开始的.不过,最近我跟 ...

  9. SQL查询语句基础构成

    本文是基本的SQL查询语句用法,内容主要来自Alan Learning SQL这本书第3章,包括select,from,where,group by,having,order by六个查询子句,后续会 ...

最新文章

  1. 轻量级 memcached缓存代理 twemproxy实践
  2. duilib进阶教程 -- 在MFC中使用duilib (1)
  3. 我的四年建站故事(X)
  4. 双活数据中心技术架构(PDF版)
  5. Word字体与像素的对应关系(转)
  6. php二维数组拆分成字符串,PHP二维数组切割为字符串并去除重复的值
  7. c语言四字节转浮点数_C语言浮点书于字节互相转换
  8. 【POJ - 1502】MPI Maelstrom(Dijkstra单源最短路--求一点到其余个点的最小值的最大值)
  9. devops handbook 读书笔记_DevOps教程:Azure DevOps
  10. jQuery和CSS3炫酷滚动页面内容元素动画特效
  11. mybatis 打印自定义完整日志
  12. 【Storm入门指南】第六章 真实示例
  13. 李雅普诺夫稳定性定理
  14. Matlab的主成分分析
  15. I want to be a teacher when I grow up ——长大后我想当老师
  16. 怎么把图片变清晰?图片变清晰方法分享。
  17. Python运行 import cv2 等报错 Illegal instruction (core dumped) 解决办法
  18. Chrome访问剪切板实现右键复制粘贴
  19. 直线内插法的图怎么用计算机画,直线内插法(设计费).pdf
  20. Suomi NPP VIIRS夜间灯光遥感数据简介与下载

热门文章

  1. android屏蔽锁屏广播,android禁止锁屏保持常亮(示例代码)
  2. 电子压力开关基本原理
  3. 使用了未经检查或不安全的操作_【最详细】瓦斯检查员安全操作技术规程
  4. 基于ASP网上团购系统的设计与实现
  5. DreamWeaver2020下载安装
  6. 磁性负载两端续流电阻的重要性
  7. oracle数据库实战教程 李兴华ORACLE入门到精通教程
  8. 酒店公共广播背景音乐系统-基于互联网+的酒店IP网络广播系统设计
  9. yolov5使用2080ti显卡训练是一种什么样的体验我通过vscode搭建linux服务器对python-yolov5-4.0项目进行训练,零基础小白都能看得懂的教程。>>>>>>>>>第二章番外篇
  10. 可持续女性人物100特展盛大开启 ——《LOHAS乐活》Green Women Power 100