一、表连接:
将多个表的数据一次性查询出来,共同显示
(一)、横向连接
1、子查询方式:
select (select 字段名 a from 表名称A where 表名称A.字段名a = 表名称B.字段名a),字段名,字段名 from 表名称B
2、笛卡尔积:
select 字段名,字段名 from 表名称A,表名称B where 表名称A .字段名a = 表名称B.字段名a
3、join on:
select 字段名,字段名 from 表名称A join 表名称B on 表名称A .字段名a = 表名称B.字段名a
inner join、、、on
left join、、、on
right join、、、on
【注意:必须添加where条件或on后面跟条件,两个表的关系列】
4、纵连接:
select 字段名 from 表名称A
union
select 字段名 from 表名称B
【注意:纵连接的表,列数必须一样!对应列的数据类型要一样!】
(二)、TSQL基本编程:
1、定义(声明)变量:
declare @变量名称 数据类型;
【注意:无法声明变量的同时给变量赋值!只能先声明变量再给声明的变量赋值!】
2、赋值(2种方式):
(1)、set @变量名称 = 值;
(2)、select @变量名称 = 值;
3、打印在消息框中:
print @变量名称;
4、映射在结果集中:
select @变量名称;
5、语句
(1)分支语句写法:
先声明变量并给变量赋值
if 比较条件
begin
select @变量名称;
end
else
begin
select @变量名称;
end
(2)循环语句写法:
先声明变量并给变量赋值
while @变量名称<=值
begin
循环体代码
end
二、存储过程:(就是函数)
1、定义:
create proc 函数名
@参数名 参数类型(注意:多个参数时用','隔开)
as
函数体代码
( declare @参数名称 数据类型;
select @参数名称 = 运算
return @参数名称 )
2、使用:
declare @参数名 数据类型;
exec 函数名 参数值,参数值
exec @参数名称 = 函数名 参数值,参数值;
select @参数名称;
3、修改:
数据库—可编程性—存储过程—dbo.函数名—右击‘修改’
4、保存位置:
数据库—可编程性—存储过程—dbo.函数名
将数据库查出来的数据存入变量中,并在存储过程中使用