Scripts 学盟

标题: SQLServer [打印本页]

作者: 那个谁    时间: 2011-5-12 16:37:41     标题: SQLServer

有木有写过sql语句。。。有木有。有木有。
有就贴出来分享下噻别那么小气哦。。
作者: Alvin    时间: 2011-5-12 22:46:31

我来个超简单的
  1. SELECT @@IDENTITY
复制代码
SQLServer ,  Access
可以查到当前 Connection 中,刚刚插入记录所生成的数字ID
作者: 那个谁    时间: 2011-5-13 08:43:17

混混说了个sqlserver 常量用法。大家再接再厉啊。
作者: momo    时间: 2011-5-15 22:14:13

今天看了点sql,纠结了好久的left join跟right join
a left join b   结果就是会返回a中的所有行,即使b中没有符合条件的行
a right join b 结果就是会返回b中的所有行,即使a中没有符合条件的行
a inner join b 结果就是返回两表中匹配的行
例子如下,其实对于上面的说法我总觉得有点怪怪的,不过看了例子就啥都晓得了
表a

ID      NAME        PR
1       oracal      aa
2        sql        bb
3       access      cc

表b
ID      DATE         SR
1       2011-1-2      sril
2       2011-1-3      scott
4       2011-1-3      wrox

写出得到下列结果的sql语句
ID       NAME     DATE
1        oracal   2011-1-2
2        sql      2011-1-3
3        access   null
SELECT a.ID,a.NAME,b.SR FROM A AS a left JOIN B AS b ON a.ID=b.ID
作者: momo    时间: 2011-5-15 22:21:44

select a.ID,a.name,b.date from A as a inner join B as b on a.ID=b.ID
那结果应该就是
ID       NAME     DATE
1        oracal   2011-1-2
2        sql      2011-1-3
SELECT a.ID,a.NAME,b.DATE FROM A AS a right JOIN B AS b ON a.ID=b.ID
那结果应该就是
ID      DATE         NAME
1       2011-1-2      sril
2       2011-1-3      scott
4       2011-1-3      null
作者: Alvin    时间: 2011-5-15 23:17:08

学习!


作者: 那个谁    时间: 2011-5-16 09:07:08

回复 5# momo


漠漠     错了。。。

SELECT a.ID,a.NAME,b.DATE FROM A AS a right JOIN B AS b ON a.ID=b.ID
那结果应该就是
ID     NAME       DATE         
1        oracal        2011-1-2
2        sql      2011-1-3  
null       null          2011-1-3   


left join  同理。如果表a 没有可匹配的项 就返回 null
作者: momo    时间: 2011-5-16 09:29:51

回复 7# 那个谁


    啊,对喔,杰杰厉害,嘿嘿。。。。。。。。。。
作者: momo    时间: 2011-5-16 09:30:40

回复 6# 混混@普宁.中国


    混混你敷衍又!!!
作者: 那个谁    时间: 2011-5-16 13:10:39

回复 8# momo


    错了还不改回来。。。。。




欢迎光临 Scripts 学盟 (http://www.iscripts.org/) Powered by Discuz! X2