连接
发布时间:2020-12-12 14:00:48 所属栏目:MsSql教程 来源:网络整理
导读:1?内部连接?([INNER]?JOIN) 2?外部连接?(LFET?/RIGHT?[OUTER]?JOIN) 3?完全连接?(FULL?JOIN) 4?交叉连接?(CORSS?JOIN) ? 5.?UNION与UNION?ALL ? ?*[]为可选项?以下sql语句皆为ANSI标准 ? 1.?内部链接?([INNER]?JOIN) JOIN?默认为内部连接。关键是 排他性 !
1?内部连接?([INNER]?JOIN) 2?外部连接?(LFET?/RIGHT?[OUTER]?JOIN) 3?完全连接?(FULL?JOIN) 4?交叉连接?(CORSS?JOIN) ? 5.?UNION与UNION?ALL ? ?*[]为可选项?以下sql语句皆为ANSI标准 ? 1.?内部链接?([INNER]?JOIN) JOIN?默认为内部连接。关键是排他性! SELECT a.emp_id,b.emp_address,c.address_info FROM emp_info a JOIN emp_fnd b on a.emp_id=b.emp_id JOIN address c ON c.address_id=b.address_id ? 2?外部连接?(LFET?/RIGHT?[OUTER]?JOIN) 没有匹配数据的一边为NULL值。 SELECT a.emp_id,c.address_info FROM emp_info a LEFT JOIN emp_fnd b on a.emp_id=b.emp_id ? 3?完全连接?(FULL?JOIN) 两侧表所有结果 SELECT a.emp_id,c.address_info FROM emp_info a FULL JOIN emp_fnd b on a.emp_id=b.emp_id ? 4?交叉连接?(CORSS?JOIN) 相当与笛卡尔积,一般结果用作测试数据。 SELECT a.emp_id,c.address_info FROM emp_info a CROSS JOIN emp_fnd b on a.emp_id=b.emp_id ? 5.?UNION与UNION?ALL 联合多表,两者相似,唯一不同点是?UNION联合的结果集默认删除重复行。 使用UNION与UNION?ALL需要列数相同,结果集的列名可不同且以第一个表的查询列名为标准。同样语句查询结果的顺序可能不一致,但内容相同的。 SELECT emp_id,emp_name FROM emp_info UNION SELECT mgr_id,mgr_name FROM mgr_info UNION SELECT tmp_id,tmp_name FROM tmp_info (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |