易截截图软件、单文件、免安装、纯绿色、仅160KB

SQL中JOIN和UNION区别、用法及示例


1.JOIN和UNION区别
join 是两张表做交连后里面条件相同的部分记录产生一个记录集,
union是产生的两个记录集(字段要一样的)并在一起,成为一个新的记录集 。
JOIN用于按照ON条件联接两个表,主要有四种:
INNER JOIN:内部联接两个表中的记录,仅当至少有一个同属于两表的行符合联接条件时,内联接才返回行。我理解的是只要记录不符合ON条件,就不会显示在结果集内。
LEFT JOIN / LEFT OUTER JOIN:外部联接两个表中的记录,并包含左表中的全部记录。如果左表的某记录在右表中没有匹配记录,则在相关联的结果集中右表的所有选择列表列均为空值。理解为即使不符合ON条件,左表中的记录也全部显示出来,且结果集中该类记录的右表字段为空值。
RIGHT JOIN / RIGHT OUTER JOIN:外部联接两个表中的记录,并包含右表中的全部记录。简单说就是和LEFT JOIN反过来。
FULL JOIN / FULL OUTER JOIN:完整外部联接返回左表和右表中的所有行。就是LEFT JOIN和RIGHT JOIN和合并,左右两表的数据都全部显示。
JOIN的基本语法:
Select table1.* from table1 JOIN table2 ON table1.id=table2.id
sql写法
内连接inner join:
SELECT msp.name, party.name
from msp JOIN party ON party=code

SELECT msp.name, party.name
from msp inner JOIN party ON party=code
左连接left join :
SELECT msp.name, party.name
from msp LEFT JOIN party ON party=code
右连接right join :
SELECT msp.name, party.name
from msp RIGHT JOIN party ON msp.party=party.code
全连接(full join):
SELECT msp.name, party.name
from msp FULL JOIN party ON msp.party=party.code
UNION运算符
将两个或更多查询的结果集组合为单个结果集,该结果集包含联合查询中的所有查询的全部行。UNION的结果集列名与UNION运算符中第一个Select语句的结果集的列名相同。另一个Select语句的结果集列名将被忽略。
其中两种不同的用法是UNION和UNION ALL,区别在于UNION从结果集中删除重复的行。如果使用UNION ALL 将包含所有行并且将不删除重复的行。
UNION和UNION ALL的区别:
union 检查重复
union all 不做检查
比如 select 'a' union select 'a' 输出就是一行 a
比如 select 'a' union all select 'a' 输出就是两行 a
2. 通过下面的例子,可以清晰的看出和理解2者的区别
实例1 典型的二表连接演示
假定有两个表Table1和Table2,其包含的列和数据分


相关文档:

SQL Server 2000+ADO.NET实现并发控制 转载

常见并发并发一致性问题包括:丢失的修改、不可重复读、读脏数据、幻影读(幻影读在一些资料中往往与不可重复读归为一类)。
2.2.1.1 丢失修改
下面我们先来看一个例子,说明并发操作带来的数据的不一致性问题。
考虑飞机订票系统中的一个活动序列:
甲售票点(甲事务)读出某航班的机票余额A,设A=16.
乙售票点(乙事务 ......

Sql server 2005 登录扫盲

1.       在使用sql server 之前呢,最好对其进行配置
(1)  配置工具->Sql server configuration Manager  
        选择Sql server 2005网路配置 下的 MSSQLSERVER的协议 在窗口右边的
TCP/IP协议右键属性,配置如下
 
&n ......

动态创建sql实例

string   error_syntaxfromSQL,   error_create  
  string   new_sql,   new_syntax  
  new_sql   =   'SELECT   emp_data.emp_id,   '   &  
    & ......

ASP.Net + SQL Server 存储过程实现分页排序

问题提出:
在应用程序中经常需要查询数据。当查询结果数据量比较大的时候,检索结果、界面显示都需要花费大量的时间。为了避免这个问题,应该每次只检索部分数据,也就是使用常见的分页方式来处理。分页的问题在asp.net中好像非常简单,只要在GridView中启用分页就可以了。启用分页后,GridView关联数据源控件,依旧会加载 ......

使用Hibernate+MySql+native SQL的BUG,以及解决办法

本来是mssql+hibernate+native SQL 应用的很和谐
但是到了把mssql换成mysql,就出了错(同样的数据结构和数据)。
查询方法是:
String sql =
"select id XXX_ID from t_tab";
List<Map> list = session.createSQLQuery(sql)
.setResultTransformer(Transformers.ALIAS_TO_ENTITY_MAP)
.list();
错 ......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号