没事我就看SQL

没事干,那就看sql吧,嘿嘿

========

SELECT "栏位名"
FROM " 表格名"
WHERE "栏位名" BETWEEN '值一' AND '值二'

这将选出栏位值包含在值一及值二之间的每一笔资料。(半开半闭)

==========

左连接 (left join),又称内部连接 (inner join)。在这个情况下,要两个表格内都有同样的值,那一笔资料才会被选出。

无论它的值在另一个表格中有没有出现,我们就需要用到 SQL OUTER JOIN (外部连接) 的指令。

Store_Information 表格

store_name Sales Date
Los Angeles $1500 Jan-05-1999
San Diego $250 Jan-07-1999
Los Angeles $300 Jan-08-1999
Boston $700 Jan-08-1999
Internet Sales 表格
Date Sales
Jan-07-1999 $250
Jan-10-1999 $535
Jan-11-1999 $320
Jan-12-1999 $750

UNION 的一个限制是两个 SQL 语句所产生的栏位需要是同样的资料种类。另外,当我们用 UNION这个指令时,我们只会看到不同的资料值 (类似 SELECT DISTINCT)。(example:所有有营业额 (sales) 的日子)

UNION ALL 这个指令的目的也是要将两个 SQL 语句的结果合并在一起。 UNION ALLUNION 不同之处在于 UNION ALL 会将每一笔符合条件的资料都列出来,无论资料值有无重复。(example:有店面营业额以及网络营业额的日子。

UNION 基本上是一个 OR (如果 这个值存在于第一句或是第二句,它就会被选出),而 INTERSECT 则 比较像 AND ( 这个值要存在于第一句和第二句才会被选出)。 UNION 是联集,而 INTERSECT 是交集。(example:找出哪几天有店面交易和网络交易)

MINUS 指令是运用在两个 SQL 语句上。它先找出第一个 SQL 语句所产生的结果,然后看这些结果有没有在第二个 SQL 语句的结果中。(example:有哪几天是有店面营业额而没有网络营业额的)

============

好吧,不想看我在这啰嗦,看这http://sql.1keydata.com/cn/sql-primary-key.php

posted @ 2011-06-22 13:28  左安  阅读(181)  评论(0)    收藏  举报