-表的连接
--使用Union关键字
--Union关键字用来将两个或多个Select语句的结果组合成一个结果集,
--每个Select语句的结果必须局有相同的结构和列数,并且列的数据类型也必须兼容
--select 语句 Union select 语句
--例:
select * from Class1 union select 学号,姓名,总成绩 from class2
/**between搜索条件
Between搜索条件用于返回介于两个指定值之间的所有值.且包括两个的值
例:**/
Select 学号,姓名,性别,年龄 from students where 年龄 between 20 and 30
/**使用IN列表搜索条件
IN列表搜索条件用于返回与给定IN列表中的任意一值匹配的行,IN列表搜索条件实际上是一系列
逻辑运算符OR的缩写,
例如:**/
Select 学号,姓名,性别,班级 from students where 班级 in('机电9601','工英9702')
select 学号,姓名,性别,班级 from students where 班级='机电9601' or 班级='工英9702'
--简单的数据库连接技法
--如果在Select语句中使用where子句也可实现多个表间的数据连接
use pubs
select author.au_fname+' '+ authors.au_lname as 姓名,titles.title as 书名 from authors,
titiles,titleauthor where authors.au_id=titleauthor.au_id
and titleauthor.title_id=title_id and state='CA'
/**连接总结
1.外连接总结:内连接只返回即符合查询条件又满足联接条件的行作为结果集,它删除了所有不符合
联接条件的行.而外联接返回的结果集除包括符合联接条件的行外.还会返回From子句中至少一个表的
所有行。--只要这些行满足查询检索条件,而无论他们是否满足联接条件
一.左外连:主表在联接符的左边(前面),通过左向外联接引用左表的所有行
From 主表 left join 从表 on...
二.右外连:主表在联接符的左边(后面),通过左向外联接引用左表的所有行
From 从表 right join 主表 on...
三.全外连:返回两个表的所有行。此时两表均为主表。
from 表1 full join 表2 on.....
2.内连接总结:
内联接是用比较运算符比较表中列值,返回符合联接条件的数据行,从而将两个表联接成一个新表,
在形成的数据集中没有不满足联接条件的数据行
一.等值联接:条件使用=
二.不等值联接:条件使用<,>,>=,<=,!
三.自联接:内联接不紧可以在不同的表间进行,也可使一个表同其自身进行内联接,以完成特殊查询
就是把一张表看成2张表
**/
/**使用insert into....select 技法
这种技法通常用来将一个子查询的结果集添加到表中。**/
create table #class1(学号 varchar(8),姓名 varchar(10),性别 varchar(2),籍贯 varchar(30))
insert into # class1
select 学号,姓名,性别,籍贯, from students where 班级='计9802'
浙公网安备 33010602011771号