SQL Server和Oracle加入了教程

时间:2010-10-26 23:48:00

标签: sql join case

问题1: 我正在学习SQL Server和Oracle连接(内连接,外连接......) 和case语句语法。虽然我可以谷歌搜索信息,但会 喜欢问一些完全解释的网站,链接和材料 加入和案件陈述。

问题2: 我正在运行一个简单的语句,其输出结果如下:

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',

我可以一起按一下删除和结束,但只有少数记录,但不是一百条记录......

4 个答案:

答案 0 :(得分:2)

答案 1 :(得分:1)

  

SQL Server和Oracle连接(内连接,外连接......)

link for that

  

...案例陈述语法。

CASE表达式是ANSI,并且在Oracle 9i+和SQL Server 2000+中受支持 - 两者都是相同的。 Oracle的PLSQL也有一个CASE语句,两者之间的区别在于PLSQL版本以END CASE结尾,而不是END

答案 2 :(得分:0)

联接更多是一般SQL。它们没有特定于SQL-Server或Oracle的不同命令。

Microsoft拥有T-SQL,Oracle拥有PL / SQL。

T-SQL - use this link

答案 3 :(得分: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命令将每个名称作为自己的列。使用pivot命令的唯一方法是你需要事先知道名字,否则你会将它与stuff函数结合使用。