SQL:1999连接
SQL:1999连接
SQL:1999连接在语法上和传统的ORACLE连接有着很大的不同。SQL:1999连接的类型在from语句中指明。ORACLE 9I支持的SQL:1999连接包括:
l CROSS连接
l NATURAL连接
l OUTER连接
l LEFT OUTER连接
l RIGHT OUTER连接
l FULL OUTER连接
以下的几个小节将详细介绍这些新的连接方式。
2.3.1.1 CROSS连接
CROSS连接是一种对两个表的交叉乘积。是对两个表的卡笛尔乘积。下面的例子:
SELECT last_name, department_name
from employees
CROSS JOIN departments;
这个语句等同于:
SELECT last_name, department_name
from employees, departments;
2.2.1.2 NATURAL连接
NATURAL连接的条件是两个表中名称相同的字段都有相同的值。如果两个表中相同名称的字段的类不同,那么会发生错误。如果有select *,那么在结果集中,相同的字段只出现一次。
在NATURAL连接中,选取的字段前面不需要用别名限定。比如:
SELECT employee_id, last_name, department_id
from employees
NATURAL JOIN departments;
等同于下面的语句:
SELECT employee_id, last_name, departments.department_id
from employees, departments
WHERE employees.department_id = departments.department_id;
如果并不是所有的名称相同的字段都需要进行’=’连接,那么就不能使用NATURAL连接,而可以使用USING语句,比如
SELECT employee_id, last_name, job_history.department_id
from employees
JOIN job_history
USING (employee_id);
这个语句等同于:
SELECT employees.employee_id, last_name, job
相关文档:
1. 查看数据库的版本
select @@version
常见的几种SQL SERVER打补丁后的版本号:
8.00.194 Microsoft SQL Server 2000
8.00.384 Microsoft SQL Server 2000 SP1
8.00.532 Microsoft SQL Server 2000 SP2
8.00.760 &nb ......
最近做了一网站,但是在外面访问太慢。本想找下原因。看看是程序原因还是数据库原因。在网上逛逛。看了一下数据库索引。现在总结一下。方便下次查看。本文比较基础是入门级别的。
首先,什么是索引?从BookOnline上search了一下:
&nbs ......
CREATE proc [dbo].[proc_DeleteTemplet] (@templeId varchar(15),@errorMessage varchar(50) output)
as
begin
declare @error int
set @error =0
begin tran
delete from tc_templet_Head where fBillNo=@templeId
set @error=@error+@@error
delete from tc_templet_ ......
--1. 创建表,添加测试数据
CREATE TABLE tb(id int, [value] varchar(10))
INSERT tb SELECT 1, 'aa'
UNION ALL SELECT 1, 'bb'
UNION ALL SELECT 2, 'aaa'
UNION ALL SELECT 2, 'bbb'
UNION ALL SELECT 2, 'ccc'
--SELECT * from tb
/**//*
id value
----------- ----------
1 aa
1 bb
2 aaa
......
记得以前用SqlServer 2000的时候在“右键数据库->所有任务->导入数据/导出数据”这个选项,但是最近在使用SqlServer 2005 express的时候发现居然没有“导入/导出”功能,这个让人相当郁闷。
后来网上一查才知道是因为我用的是ex ......