1.N'关闭'N是指nvarchar,是将其内容关闭作为 Unicode字符常量(双字节)。而没有N的 '关闭', 是将关闭作为字符常量(单字节)。

平常没有加N,结果里面直接出现?. 具体如下图:

            

2.IF OBJECT_ID('dbo.Employees','U') IS NOT NULL  --U检查Employees表是否已经存在当前数据库中。其中U代表用户表。

3.

以结果集结构创建表
"select * into temp from 表(结果集) where 1=1(将数据一并插入到新表),
where 1=2(创建空表,结构同结果集)"

获取所有表的记录数
if object_id( 'tempdb..#tablecount ') is not null drop table #tablecount
select cast(null as sysname) as 表名称, 1 as 记录数 into #tablecount where 1 = 0

declare @TableName sysname
declare testcur cursor for select [name] from sysobjects where xtype = 'U ' order by [name]
open testcur
fetch next from testcur into @TableName
while @@fetch_status = 0
begin
exec( 'insert into #tablecount select ''' + @TableName + ''', (select count(1) from ' + @TableName + ') ')
--exec('select * from ' + @TableName)
fetch next from testcur into @TableName
end
close testcur
deallocate testcur
--select * from #tablecount order by 记录数
--drop table #tablecount

4.不同的 SQL JOIN

除了我们在上面的例子中使用的 INNER JOIN(内连接),我们还可以使用其他几种连接。

下面列出了您可以使用的 JOIN 类型,以及它们之间的差异。

  • JOIN: 如果表中有至少一个匹配,则返回行
  • LEFT JOIN: 即使右表中没有匹配,也从左表返回所有的行
  • RIGHT JOIN: 即使左表中没有匹配,也从右表返回所有的行
  • FULL JOIN: 只要其中一个表中存在匹配,就返回行

5.SQL Server如何将Id相同的字段合并,并且以逗号隔开。

例: id   name
      1    张三
      1   李四
      2   王五
      2   赵六
结果:
  Id   name

1   张三,李四
 2   王五,赵柳

SQL脚本:

use testdb

create table testA
(
id int,
name nvarchar(32)
) Insert into testA(id,name) values(1,'张三')
Insert into testA(id,name) values(1,'李四')
Insert into testA(id,name) values(2,'王五')
Insert into testA(id,name) values(2,'赵六') select id,(select ','+name from testA where a.id = id for xml path('')) as name
,stuff((select ','+name from testA where a.id = id for xml path('')),1,1,'') as name2
from testA a
group by id

结果如下:

参考:http://zhidao.baidu.com/link?url=2oFbIL6joG7Htfgzc28gCV2Pd1hYzu3Alds05vB9BMfg2SpVCkLEZCgtgb4lwnf64WHnTwhF85b1rYX-Vpi3Gq&qq-pf-to=pcqq.c2c

STUFF

SQL Server 的SQL基础知识的更多相关文章

  1. SQL Server 存储过程之基础知识(转)

    什么是存储过程呢?存储过程就是作为可执行对象存放在数据库中的一个或多个SQL命令. 通俗来讲:存储过程其实就是能完成一定操作的一组SQL语句. 那为什么要用存储过程呢?1.存储过程只在创造时进行编译, ...

  2. SQL Server之存储过程基础知识

    什么是存储过程呢?存储过程就是作为可执行对象存放在数据库中的一个或多个SQL命令. 通俗来讲:存储过程其实就是能完成一定操作的一组SQL语句. 那为什么要用存储过程呢?1.存储过程只在创造时进行编译, ...

  3. .NET/ASP.NET/C#/WCF/SQL Server/My SQL/Java/JSP/JDBC/Spring/Spring MVC/PHP/Python/Ruby/Shell/Agile/CSS/HTML/HTTP/Unix/Linux大量PDF书籍/电子书籍下载, Effective Java 下载

    223本电子书籍,囊括了.NET/ASP.NET/C#/WCF/SQL Server/My SQL/Java/JSP/JDBC/Spring/Spring MVC/PHP/Python/Shell/A ...

  4. 【SQL Server】SQL触发器经验详解

    [SQL Server]SQL触发器经验详解 | 浏览: 4314 | 更新: 2013-01-07 15:33 25 11 全文阅读分步阅读   加入杂志 步骤 1 2 3 4 5 6 7 8   ...

  5. SQL Server经典sql语句大全(转)

    一.基础1.说明:创建数据库CREATE DATABASE database-name2.说明:删除数据库drop database dbname3.说明:备份sql server--- 创建 备份数 ...

  6. PowerDesigner反向数据库时遇到[Microsoft][ODBC SQL Server Driver][SQL Server]无法预定义语句。SQLSTATE = 37错误解决方法

    逆向工程中,有时会出现如下错误 ... [Microsoft][ODBC SQL Server Driver][SQL Server]无法预定义语句 SQLSTATE = 37000 解决方案: 1. ...

  7. [Oracle][ODBC SQL Server Driver][SQL Server]对象名 'RECOVER.HS_TRANSACTION_LOG' 无效(转)

    原帖由 qingyun 于 2010-6-21 15:44 发表 在写pl/sql的时候,有个很重要的注意点:比如:begin  update  某个sqlserver的表@dblink名字 .... ...

  8. (转)[SQL Server] 动态sql给变量赋值(或返回值给变量)

    本文转载自:http://blog.csdn.net/xiaoxu0123/article/details/5684680 [SQL Server] 动态sql给变量赋值(或返回值给变量) decla ...

  9. SQL Server 2008 /SQL Server 2008 R2 配置数据库邮件

    原文:SQL Server 2008 /SQL Server 2008 R2 配置数据库邮件 从2005开始,就引入了"数据库邮件"功能.并且取代SQLMail.原有SQLMail ...

  10. SQL Server审计功能入门:SQL Server审核 (SQL Server Audit)

    原文:SQL Server审计功能入门:SQL Server审核 (SQL Server Audit) 介绍 Audit是SQL Server 2008之后才有的功能,它能告诉你"谁什么时候 ...

随机推荐

  1. Smart210学习-----lcd驱动

    帧缓冲设备 1.1帧缓冲设备:帧缓冲(framebuffer)是 Linux 系统为显示设备提供的一个接口,它将显示缓冲区抽象,屏蔽图像硬件的底层差异,允许上层应用程序在图形模式下直接对显示缓冲区进行 ...

  2. LinearLayout 控件

    LinearLayout 控件,垂直显示各控件一行一个显示,比较好控件. 用RelativeLayout多个控件会堆在一起 <LinearLayout xmlns:android="h ...

  3. LeetCode Unique Paths (简单DP)

    题意: 给出一个m*n的矩阵,robot要从[1][1]走到[m][n],每次只能往下/右走,问有多少种走法? 思路: DP的经典问题.先将[1][1]设为1,然后两种走法就是分别用[i][j]去更新 ...

  4. 从Wordpress迁移到Jekyll

    http://pinkyjie.com/2013/10/24/migrate-from-wordpress-to-jekyll/ 上周末闲着没事干突然想把博客从Wordpress迁移到Github p ...

  5. 触摸精灵lua脚本实现微信群加好友功能

    --此脚本针对iPhone5/5s --目前只实现一个屏幕微信群好友的添加,如果想添加更多好友, --需要划屏操作,执行划屏操作时建议循环滑动 function main() --获取屏幕的分辨率 w ...

  6. ZSDRM001-发货清单

    REPORT ZSDRM001 LINE-SIZE 225 LINE-COUNT 65 NO STANDARD PAGE HEADING.*------------------------------ ...

  7. 382. Linked List Random Node

    Given a singly linked list, return a random node's value from the linked list. Each node must have t ...

  8. Javascript中的函数、this以及原型

    关于函数 在Javascript中函数实际上就是一个对象,具有引用类型的特征,所以你可以将函数直接传递给变量,这个变量将表示指向函数“对象"的指针,例如: function test(mes ...

  9. Spring Data Jpa 详解

    前言: JPA全称Java Persistence API,即Java持久化API,它为Java开发人员提供了一种对象/关系映射工具来管理Java应用中的关系数据,结合其他ORM的使用,能达到简化开发 ...

  10. SpringMVC List绑定

    需求:成绩录入(录入多门课成绩,批量提交) 使用List接收页面提交的批量数据,通过包装pojo接收,在包装pojo中定义list<pojo>属性 public class ItemsQu ...