1 SQL INNER JOIN 关键字(内连接)
典型的联接运算,使用像 = 或 <> 之类的比较运算符,内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行。
a.等值连接:在连接条件中使用等于号(=)运算符比较被连接列的列值,其查询结果中列出被连接表中的所有列,包括其中的重复列。
b.不等值连接:在连接条件使用除等于运算符以外的其它比较运算符比较被连接的列的列值。这些运算符包括>、>=、<=、<、!>、!<和<>。
c.自然连接:在连接条件中使用等于(=)运算符比较被连接列的列值,但它使用选择列表指出查询结果集合中所包括的列,并删除连接表中的重复列
2、外联接。外联接可以是左向外联接、右向外联接或完整外部联接。
在 FROM子句中指定外联接时,可以由下列几组关键字中的一组指定:
1 LEFT JOIN 左外联接
2 RIGHT JOIN 右外联接
3 FULL JOIN 完整外连接
4 交叉连接
交叉连接:交叉联接返回左表中的所有行,左表中的每一行与右表中的所有行组合。交叉联接也称作笛卡尔积
SQL UNION 操作符
UNION 操作符用于合并两个或多个 SELECT 语句的结果集。
UNION 内部的 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每条 SELECT 语句中的列的顺序必须相同
语法:SELECT column_name(s) FROM table_name1
UNION SELECT column_name(s) FROM table_name2
默认地,UNION 操作符只会选取不同的值,重复的值只会列出一个。如果允许重复的值,就要使用 UNION ALL
UNION ALL 操作符
SELECT column_name(s) FROM table_name1
UNION ALL SELECT column_name(s) FROM table_name2
UNION 结果集中的列名总是等于 UNION 中第一个 SELECT 语句中的列名。
使用UNION时需要注意,只能在最后使用一个ORDER BY命令,是将两个查询结果合在一起之后,再进行排序!绝对不能写两个ORDER BY命令。
另外,在使用ORDER BY排序时,注意两个结果的别名保持一致,使用别名排序很方便。当然也可以使用列数
网友评论