SQL中连接查询

在SQL中建立student,course,sc三个表,并插入相应的数据。

--创建studnet表
create table student
(sno char(9) primary key,sname char(20) unique,ssex char(2) check(ssex in('男','女')),sage smallint,sdept char(20))go--创建courset表create table course (cno char(4) primary key,cname char(40),cpno char(4),ccredit smallint)go--创建sc表
create table sc
(sno char(9),cno char(4),grade smallint check(grade between 0 and 100),primary key(sno,cno),foreign key(sno) references student(sno),foreign key(cno) references course(cno),
)
go
--向student表中插入数据
insert into student values('200215121','李勇','男',20,'CS');
insert into student values('200215122','刘晨','女',19,'CS');
insert into student values('200215123','王敏','女',18,'MA');
insert into student values('200215124','张立','男',19,'IS');--向course表中插入数据
insert into course values('1','数据库','5',4)
insert into course values('2','数学',null,2)
insert into course values('3','信息系统','1',4)
insert into course values('4','操作系统','6',3)
insert into course values('5','数据结构','7',4)
insert into course values('6','数据处理',null,2)
insert into course values('7','PASCAL语言','6',4)--向sc表中插入数据
insert into sc values('200215121','1',92)
insert into sc values('200215121','2',85)
insert into sc values('200215121','3',88)
insert into sc values('200215122','2',90)
insert into sc values('200215122','3',80)

(1)等值与非等值连接查询

连接查询的where子句中用来连接两个表的条件称为连接条件连接谓词。常见的连接谓词有:=、>、<、!=(或<>)、>=、<=等

等值连接:在where子句中,当连接运算符为“=”

eg:student.sno = sc.sno

非等值连接:在where子句中,当连接运算符为“>”、“<”、……

eg:student.sage > 20

--查询每个学生及其选修课的情况
select student.*,sc.*
from student,sc
where student.sno = sc.sno--查询选修2号课程且成绩在90分以上的所有学生的学号和姓名
select student.sno,sname
from student,sc
where student.sno=sc,sno
and sc.cno='2' and sc.grade>90

(2)自身连接

自身连接顾名思义就是一个表与其自己连接。首先要为表取两个别名,可以是first,second;耶可以是a,b;……

eg:select a.sno,b.sno

from student a,student b

where a.sno=b.sno

--列出选修“1”号课程和“2”号课程的所有学生的学号和姓名
select first.sno,student.sname
from sc first,sc second,student
where student.sno=first.sno and first.sno=second.sno and first.cno='1' and second.cno='2'

(3外连接

左外连接列出左边关系中所有元组,右外连接列出右边关系中所有的元组。

--查询每个学生及其选修课的情况
--左外连接
select student.sno,sname,ssex,sage,sdept,cno,grade
from student left outer join sc on(student.sno=sc.sno)
--右外连接
select student.sno,sname,ssex,sage,sdept,cno,grade
from student right outer join sc on (student.sno=sc.sno)

(4)多表连接

多表连接:两个以上的表进行连接(注:连接两个表需要1个条件,连接三个表需要2个条件,……)

--查询每个学生的学号、姓名、选修的选修课程名及成绩
select student.sno,sname,cname,grade
from student,sc,course
where student.sno=sc.sno and course.cno=sc.cno

“21天好习惯”第一期-19相关推荐

  1. “21天好习惯“第一期--4

    "21天好习惯"-第四天 每天记录一点点 计算机的诞生与发展 冯·诺依曼体系 计算机系统作为一个能够自动地处理信息的智能化工具,必须解决好两个最基本的问题:①信息如何表示才能方便地 ...

  2. “21天好习惯” 第一期 - 18

    今天进一步探究昨天学习的strcmp()函数:         昨天学习strcmp()函数时提到了,当两个字符串相同时,输出0,不相同时,输出非零,那么当两个字符串不同时,具体会输出什么非零值呢?于 ...

  3. “21天好习惯”第一期——16

    <计算机组成原理> 第一章 概论 1.1.2 存储程序工作方式 存储程序是计算机的核心内容,表明了计算机的工作方式,包含3个要点:事先编写程序,存储程序,自动.连续地执行程序. (1)根据 ...

  4. “21天好习惯”第一期- 4 简单的壁纸爬虫

    有时候我们不想让电脑桌面过于单调,于是琢磨着能不能让电脑每天自动获取网站上的图片然后更换为壁纸,这就需要一个壁纸爬虫了,这里以3G壁纸为例. 首先,还是喜闻乐见的导入模块,在这个爬虫中,我们需要以下模 ...

  5. “21天好习惯”第一期——21

    <计算机组成原理> 3.5.2 MIPS32架构CPU基本的组成部件 3. 单周期控制系统设计 (2)ALU控制单元      ALU控制单元接收两种输入:主控单元输出的m位aluop和指 ...

  6. “21天好习惯“第一期——2

    道友们好,今天是学习的第二天,经过一天的学习我又了解到了很多有关C语言的知识,我也会和大家继续分享我的学习笔记,以及在学习中遇到的问题. 请大家看看下面这个程序: 今天的学习就到此为止,希望大家可以向 ...

  7. “21天好习惯”第一期——2

    今天学习的内容是3.3.2--算术逻辑单元. 继续昨天的学习的内容进一步学习了ALU: ALU的外部特性与功能: ALU的标志位: ALU的EDA设计模式: 学习中遇到的问题主要是ALU的EDA设计模 ...

  8. “21天好习惯”第一期-第10天

    今天学会了一个猜数的程序,这个程序可以让计算机随机生成一个100以内的数,然后我们人来猜这个数是什么. #include<stdio.h> #include<stdlib.h> ...

  9. “21天好习惯“ 第九期—9:京东倒计时,淘宝倒计时

    "21天好习惯" 第九期 - 9 一.学习规划 1.计算机组成图谱绘画(应为知识导图)(10月25) 2.网络工程师备考(11月6) 3.信息知识竞赛(10月31) 二.所遇问题 ...

  10. “21天养成好习惯”第一期——21

    1.今天是关于数组 概念在上图里面同时还有诸多注意事项 1.数组的下标均以0开始: 2.数组在初始化的时候,数组内元素的个数不能大于声明的数组长度: 3.如果采用第一种初始化方式,元素个数小于数组的长 ...

最新文章

  1. Nmap扫描教程之Nmap基础知识
  2. 前端三十四:内嵌框架
  3. 1.6 语言模型和序列生成-深度学习第五课《序列模型》-Stanford吴恩达教授
  4. 三相pmsm矢量控制仿真模型_学术|基于新型滑模观测器的永磁同步电机无传感器矢量控制系统...
  5. win7 VS2013 新建工程 编译lua5.1 静态库
  6. Committee和Virtual Project Team的关系
  7. 三白话经典算法系列 Shell排序实现
  8. 【操作系统】独立进程与协作进程
  9. centos6.5下redis安装步骤总结
  10. python 实现截图自动存入Excel表
  11. PyTorch1.4安装(Anaconda3 + Python3.6 + cpu版本)
  12. 2021亚洲最佳职场中国大陆区企业公布:工业富联、特斯拉等上榜;黑人牙膏将更名为好来 | 美通社头条...
  13. 《中国人史纲》读书笔记:第六、七章 纪元前八、七世纪
  14. 编写应用程序,计算两个非零正整数的最大公约数和最小公倍数,要求两个非零正整数从键盘输入。
  15. 为什么影子会相互吸引? - 《像乌鸦一样思考》
  16. 【国企招聘合集」 运维/java/架构师/前端
  17. RE|Nginx-安装与配置(1)
  18. 表情识别------CNN训练fer2013数据集
  19. 北师18秋计算机在线作业考核,北师18秋《大学英语(三)》在线考核答案
  20. Angular入门到精通系列教程(5)- 第三方UI库(Angular Material)

热门文章

  1. Gb28181之Ps流解析H264
  2. java路径不存在则创建文件夹_java实现文件夹不存在则创建
  3. java children_java构建树形列表(带children属性)
  4. python中file和open_Python中的file和open简述
  5. 怎么单选_第一届化妆品分类大赛丨用过的化妆刷、过期的口红…该怎么扔
  6. python最大公约数计算。从键盘接收两个整数_python如何求解两数的最大公约数
  7. windows系统bat批处理 windows 关机,重启,锁定,休眠,注销
  8. springmvc05 传值
  9. idea DataGrip 使用图解教程
  10. 根据用指定的月份,打印该月所属的季节(if else)3,4,5 春季 6,7,8 为夏季 9,10,11 秋季 12,1,2为冬季(switch 与 if(){}else{})两种写法