SQL的链接、视图、事物、储存过程…

来源:互联网 发布:大乐透算法必中5红万能 编辑:程序博客网 时间:2024/04/30 00:03

【SQL】

1、内置函数——>帮助文档

2、链接:

--内链接,查询所有产品,并显示产品名称。

select product.*,classify.Name  as 产品类别名称 from product 

inner join classify on classify.Number=product.CategoryNumber;

 

select product.*,classify.Name  as 产品类别名称 from product 

, classify where classify.Number=product.CategoryNumber;

 

--左外链接(取左表中全部内容,右表若不符合,用null填充)

select product.*,classify.Name  as 产品类别名称 from product 

left join classify on classify.Number=product.CategoryNumber;

--右外链接(取右表中全部内容,左表若不符合,用null填充)

select product.*,classify.Name as 产品类别名称 from product 

right join classify on classify.Number=product.CategoryNumber;

 

--查询编号为1的产品,所属的类别名称.

select product.Number as 编号,classify.Name  as 产品类别名称 from product 

inner join classify on classify.Number=product.CategoryNumber where product.Number=1;

 

--子查询

select name from classify where Number=(select CategoryNumber from product where Number=1);

--查询编号为/2/4的产品,所属的类别名称.

select name from classify where Number in (select CategoryNumber from product where Number=or Number=or Number=4);

 

3、视图

--视图,不是真正的表,是一个虚拟的表,存储一句SQL语句;

--好处:简化操作;提升安全性.

create view myview

as

select * from EMP;

 

select ename from myview;

 

drop view myview

4、事物

--事物,一致性(所有语句要成功都成功,要失败都失败),持久性(一旦commit或者rollback都是持久的),

--原子性(事物中所有语句都是整体,不可再分割),隔离性(当事物执行后,其中所有语句将不再受外界干扰)

begin tran--开始事物

select * from EMP;

update EMP set sal=sal+1000 where empno=7369

 

rollback --回滚事物

commit --正式生效

5、存储过程:一组已经预编译好的SQL语句

--创建存储过程 --执行存储过程

create proc myprocexec myproc;

as

select * from EMP;

--------------------------------------------------------------------------------------

--创建存储过程

create proc myproc

as

begin tran

update EMP set sal=sal+1000

if @@ERROR= --全局变量,sql-server自动管理。

begin 

rollback

end

else

begin

commit

end

--执行存储过程

exec myproc;

select * from EMP;

----------------------------------------------------------------------------------------

--带参数存储过程

alter proc myproc

@myempno int

as

select * from EMP where empno=@myempno

--执行存储过程

exec myproc 7499;

 

6、索引:优点:提高查询效率。缺点:占据一定的数据空间,增删改效率减慢。

聚集索引:主键索引,创建主键后,会自动创建聚集索引。因此用where查询尽量使用主键,提高查询效率。

非聚集索引:     唯一索引:

创建索引:create index

7、触发器:create trigger  优点:联动  缺点:自动执行无法观察。

 

 

0 0
原创粉丝点击