2010-10-26 61 views
0

問題1: 我正在學習SQL Server和Oracle連接(內連接,外連接......) 和case語句的語法。雖然我可以谷歌的信息,但 喜歡要求一些網站,鏈接和材料,充分解釋 連接和案件的陳述。SQL Server和Oracle連接教程

問題2:下面哪個 我運行一個簡單的statment給出了輸出如下:

select '''' + name + '''' + ',' as Emp_Names 
from dbo.employee 

Emp_Names 
'Jason', 
'Robert', 
'Celia', 
'Linda', 
'David', 
'James', 
'Alison', 
'Chris', 
'Mary', 

是否有SQL的方式,可以顯示我的期望輸出爲:

Emp_Names 
'Jason', 'Robert','Celia','Linda','David','James','Alison','Chris','Mary', 

我可以按刪除和結尾在一起到達那裏,但只有少數記錄,但不是一百條記錄...

+0

問題不相關時,您應該問一個問題/帖子。 – 2010-10-27 17:00:42

回答

0

聯接是更一般的SQL。他們沒有特定於SQL-Server或Oracle的不同命令。

微軟有T-SQL和Oracle有PL/SQL。

T-SQL - use this link

1

SQL Server和Oracle連接(內部連接,外部連接...)

link for that

... case語法。

CASE表達式是ANSI,並且在Oracle 9i+和SQL Server 2000+中受支持 - 兩者都是相同的。 Oracle的PLSQL也有CASE語句,兩者的區別在於PLSQL版本以END CASE而非END結尾。

0

在SQL Server 2005或更高版本中,如果您希望在一列中使用所有名稱,則可以使用stuff函數。

SELECT STUFF((SELECT DISTINCT TOP 100 PERCENT 
           ',' + Name 
         FROM employee 
         ORDER BY ',' +Name 
         FOR XML PATH('') 
        ), 1, 1, '') 

select STUFF((SELECT DISTINCT TOP 100 PERCENT 
           ''',''' + Name 
         FROM employee 
         ORDER BY ''',''' + Name 
         FOR XML PATH('') 
        ), 1, 2, '') + ''''  

否則,你可以使用轉動命令讓每個名字作爲自己的列。使用pivot命令的唯一方法是,您需要事先知道名稱,否則您會將它與stuff函數結合使用。