📄 sql server基础知识-10.htm
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<head>
<title>Untitled Document</title>
<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
</head>
<body bgcolor="#000000" text="#FFFFFF">
CUBE和ROLLUP操作可比简单的GROUP BY产生更多的聚合值。在产生交叉标签报告(cross tab reports)时,这些操作非常有用。如果查询使用n个组合列,则有2n个计算聚合的组合。
<p>从多个表中访问数据<br>
我们已讨论了如何访问单个表中的数据。从多个表中访问数据也是可能的。从多个表中访问数据称为连接表(joining a table)。<br>
1、 CROSS JOIN(笛卡尔积)<br>
CROSS JOIN是简单地、不加任何约束条件地把表组合。CROSS JOIN后结果的行数是连接前两个表行数的乘积。如果对两个分别有好几千行的表进行连接,则结果是不可想象的。<br>
2、 INNER JOIN<br>
INNER JOIN是组合两个表最常用的方法。INNER JOIN是基于一个判别式进行的,这个判别式称为连接条件。连接条件和WHERE子句一起定义。连接条件由来自两个表中的列组成,并使用一个比较条件来对列的值进行比较。通过比较的值包含在结果数据集中,以下是Inner
JOIN的语法:<br>
</p>
<p>语法1:(ANSI 92)<br>
Select <select_list><br>
FROM <table1> INNER JOIN <table2><br>
ON <table1>.<column name> = <table2>.<column name><br>
</p>
<p>语法2:<br>
Select <select_list><br>
FROM <table1>,<table2> WHERE <table1>.<column name>
= <table2>.<column name><br>
在FROM 子句中可为表定义别名,并在任何地方都可用别名代替真名。<br>
注意:如果作为连接条件的列中有空值,则空值不能和任何值匹配,因此结果中不包含有空值的行。<br>
</p>
<p>3、 Left Outer JOIN<br>
在Inner JOIN中,只有在两个表中匹配的行才能在结果数据集中。但在Left Outer JOIN中,所有左边表中的行都出现在结果数据集中,如果左边表中的某一行在右边表中没有匹配的行,则以空值取代右边表中的值和它连接。<br>
语法如下:(ANSI 92)<br>
Select <select_list><br>
FROM <table1> LEFT OUTER JOIN <table2><br>
ON <table1>.<column name> = <table2>.<column name><br>
</p>
<p>4、 Right Outer JOIN<br>
Right Out JOIN和Left Outer JOIN相似,不同的是把右边的表作为外部表(所有右边表中的行包含在结果数据集中)。<br>
语法如下:<br>
Select <select_list><br>
FROM <table1> RIGHT OUTER JOIN <table2><br>
ON <table1>.<column name> = <table2>.<column name><br>
</p>
<p>5、 Full Outer JOIN<br>
在Full Outer JOIN中,所有两个表中的行都包含在结果数据集中。<br>
语法如下:<br>
Select <select_list><br>
FROM <table1> FULL OUTER JOIN <table2><br>
ON <table1>.<column name> = <table2>.<column name></p>
<p>Case语句<br>
当对不同条件产生不同的结果值时,可使用Case语句。<br>
Case语句计算所有定义的条件,并按条件是否为真而返回结果。<br>
语法如下:<br>
CASE [<input_expression>]<br>
WHEN <when_expression> THEN <result_expression><br>
[ELSE <else_expression>]<br>
</p>
</body>
</html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -