SQL数据库之二
l INNER JOIN
内连接是最常见的一种连接,它页被称为普通连接,而E.FCodd最早称之为自然连接。
下面是ANSI SQL-92标准
select * from t_institution i
inner join t_teller t
on i.inst_no = t.inst_no //说两个表之间的关系用ON
where i.inst_no = "5801"
其中inner可以省略。等价于早期的连接语法
select * from t_institution i, t_teller t
where i.inst_no = t.inst_no
and i.inst_no = "5801"
SELECT *
from 明日工资表 AS a INNER JOIN 部门表 AS b
ON a.部门名称=b.部门名称
WHERE 工资月份='3'
l LEFT OUTER JOIN---1
select * from t_institution i //表在from中的定义别名不需要AS
left outer join t_teller t
on i.inst_no = t.inst_no
其中outer可以省略。
SELECT a.部门编号,a.部门名称,a.负责人,
b.人员编号,b.人员姓名,b.部门名称,
b.学历,b.技术职称
from 明日部门表 a LEFT OUTER JOIN 明日人员表 b
ON a.部门名称=b.部门名称
l LEFT OUTER JOIN---2
USE pubs //定义要使用的数据库
SELECT a.au_fname, a.au_lname, p.pub_name
from authors a LEFT OUTER JOIN publishers p
ON a.city = p.city
ORDER BY p.pub_name ASC, a.au_lname ASC, a.au_fname ASC
l RIGHT OUTER JOIN
select * from t_institution i
right outer join t_teller t
on i.inst_no = t.inst_no
SELECT *
from 部门表 a RIGHT OUTER JOIN 明日工资表 b
ON a.部门名称=b.部门名称
WHERE b.工资月份='10'
l FULL OUTER
全外连接返回参与连接的两个数据集合中的全部数据,无论它们是否具有与之相匹配的行。在功能上,它等价于对这两个数据集
相关文档:
--MyDB为修复的数据名
USE MASTER
GO
SP_CONFIGURE 'ALLOW UPDATES',1 RECONFIGURE WITH OVERRIDE
GO
ALTER DATABASE MyDB SET EMERGENCY
GO
sp_dboption 'MyDB', 'single user', 'true'
GO
DBCC CHECKDB('MyDB','REPAIR_ALLOW_DATA_LOSS')
GO
ALTER DATABASE MyDB SET ONLINE
GO
sp_configure 'allow updates ......
问题
当sql server启动时,我很想运行一个存储过程。有没有一种方法可以在每次SQL Server服务启动时都会自动执行这个存储过程呢?
专家解答
sql Server提供了系统存储过程sp_procoption,这个存储过程可以用于当SQL Server服务启动时指派一个或者多个存储过程自动执行。这是一个很不错的选择,它可以用于多种 ......
Oracle 动态SQL返回单条结果和结果集
1. DDL 和 DML
/**//*** DDL ***/
begin
EXECUTE IMMEDIATE 'drop table temp_1';
EXECUTE IMMEDIATE 'create table temp_1(name varchar2(8))';
end;
/**//*** DML ***/
declare
v_1 varchar2(8);
& ......
1. SELECT
实例105
SELECT ID "编号",Name 姓名,
Math_Score '数学成绩', //怎么有的有AS,有的没有
Music_Score AS 音乐成绩,
English_Score AS 英文成绩
f ......