添加数据连接查询第十讲数据的基本操作及连接查询先回顾表为实现学生管理信息系统,我们已建立了九个表系部(系部代码,系部名称,系主任)专业(专业代码,专业名称,系部代码)班级(班级代码,班级名称,专业代码,系部代码,备注)学生(学号,姓名,性别,出生日期,入学时间,班级代码,系部代码,专业代码)课程(课程号,课程名,备注)教师(教师编号,姓名,性别,出生日期,学历,职务,职称,系部代码,专业代码)教学计划(课程号,专业代码,专业学级,课程类型,开课学期,学分,起始周,结束周,教材编号)教师任课(教师编号,课程号,专业学级,专业代码,学年,学期,学生数,学时数,酬金,起始周,结束周)课程注册(学号,课程号,教师编号,专业代码,专业学级,选课类型,学期,学年,收费否,注册,成绩,学分)练习:试独立完成设计教材表。数据的添加在企业管理器中完成在查询分析器中用T-SQL完成。数据的添加用Insert语句实现数据的添加有三种(1)insert表(字段1,字段2,字段3,…)values(字段1值,字段2值,字段3值,…)例子见教材P88数据的添加用Insert语句实现数据的添加有三种(2)insert表values(字段1值,字段2值,字段3值,…)例子见教材P88数据的添加用Insert语句实现数据的添加有三种(3)insert表1(字段,字段2,….)select字段1,字段2,…from表2where查询条件例子见教材P89注:表1,表2的列数,列序,数据类型必须一致.添加记录请按教材P89-94利用前面讲到的两种方法完成数据的添加(除课程注册表外).注:Insert语句一次只输入一条记录。如果要添加多条记录,则可输入多个insertinto语句,然后一次执行。添加记录现在我们来看如何完成课程注册表的数据的添加Insertinto课程注册(学号,教师编号,课程号,专业学级,专业代码,选课类型,学期,学年,收费否,注册,成绩,学分)selectdidtinct学生.学号,教师任课.教师编号,教师任课.课程号,教学计划.专业学级,教学计划.专业代码,教学计划.课程类型,教学计划.开课学期,0,0,0,0,0from学生JOIN班级ON学生.班级代码=班级.班级代码JOIN教学计划ON班级.班级代码=教学计划.班级代码JOIN教师任课ON教学计划.课程号=教师任课.课程号这里用到了连接查询.下面我们就讲解连接查询……..连接查询(P115)若一个查询涉及多个表,则称之为连接查询分为:交叉连接,自然连接,自身连接,外连接交叉连接是一种最简单的连接,是将两个表不加限制的连接在一起.表1与表2交叉连接的过程为:先从表1中找到第一条记录,然后拼接表2中的第一条记录,形成新表的第一条记录;再往下从表1中找到第二条记录,拼接表2中的第一条记录,形成新表的第二条记录;直到表1的所有记录与表2的第一条记录拼接完为止.然后再从头将表1的所有记录与表2的第二条记录拼接,第三条记录,第四条记录,直到所有记录拼接.(可以看教材P116的例子)连接查询(P115)在弄懂了交叉连接的原理后,那么在SQLServer中,如何用T-SQL语句来实现呢?Select字段列表from表1CROSSJOIN表2课堂练习:创建P115中的产品表,产品销售表并添加数据,然后用交叉连接完成交叉查询(如P118)等值连接查询(P119)等值连接的过程类似于交叉连接,只是在查询条件是比较两个字段的值是否相等。Select字段列表from表1INNERJOIN表2on表1.字段=表2.字段课堂练习:P119自然连接查询(P119)在等值连接的结果集中,把目标列中重复的属性列去掉则为自然连接。Select字段列表from表1JOIN表2on表1.字段=表2.字段课堂练习:P119自身连接查询(P120)连接操作不仅可在两个不同的表之间进行,也可以是一个表与其自身进行的连接,称为表的自身连接。使用自身连接时,必须为表指定两个别名。Select别名1.字段1,别名2.字段2from表1as别名1JOIN表2as别名2on别名1.字段=别名2.字段课堂练习:P120外连接查询(P121)左外连接将左表作为主表,主表中所有记录分别与右表的每一条记录进行连接组合。Select字段列表from表1LEFTJOIN表2on表1.字段=表2.字段课堂练习:P121外连接查询(P120)右外连接将右表作为主表,主表中所有记录分别与左表的每一条记录进行连接组合。Select字段列表from表1RIGHTJOIN表2on表1.字段=表2.字段课堂练习:P121全连接查询(P123)全连接将左表作为主表,主表中所有记录分别与右表的每一条记录进行连接组合。并将左右表中不满足条件的记录并在左右表的相应列上填充NULL值。Select字段列表from表1FULLJOIN表2on表1.字段=表2.字段课堂练习:P123复合连接条件查询(P123)等值连接的过程类似于交叉连接,只是在查询条件是比较两个字段的值是否相等。Select字段列表from表1INNERJOIN表2on表1.字段=表2.字段课堂练习:P119