SQL Server 的SQL基础知识
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
结果如下:

SQL Server 的SQL基础知识的更多相关文章
- SQL Server 存储过程之基础知识(转)
什么是存储过程呢?存储过程就是作为可执行对象存放在数据库中的一个或多个SQL命令. 通俗来讲:存储过程其实就是能完成一定操作的一组SQL语句. 那为什么要用存储过程呢?1.存储过程只在创造时进行编译, ...
- SQL Server之存储过程基础知识
什么是存储过程呢?存储过程就是作为可执行对象存放在数据库中的一个或多个SQL命令. 通俗来讲:存储过程其实就是能完成一定操作的一组SQL语句. 那为什么要用存储过程呢?1.存储过程只在创造时进行编译, ...
- .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 ...
- 【SQL Server】SQL触发器经验详解
[SQL Server]SQL触发器经验详解 | 浏览: 4314 | 更新: 2013-01-07 15:33 25 11 全文阅读分步阅读 加入杂志 步骤 1 2 3 4 5 6 7 8 ...
- SQL Server经典sql语句大全(转)
一.基础1.说明:创建数据库CREATE DATABASE database-name2.说明:删除数据库drop database dbname3.说明:备份sql server--- 创建 备份数 ...
- PowerDesigner反向数据库时遇到[Microsoft][ODBC SQL Server Driver][SQL Server]无法预定义语句。SQLSTATE = 37错误解决方法
逆向工程中,有时会出现如下错误 ... [Microsoft][ODBC SQL Server Driver][SQL Server]无法预定义语句 SQLSTATE = 37000 解决方案: 1. ...
- [Oracle][ODBC SQL Server Driver][SQL Server]对象名 'RECOVER.HS_TRANSACTION_LOG' 无效(转)
原帖由 qingyun 于 2010-6-21 15:44 发表 在写pl/sql的时候,有个很重要的注意点:比如:begin update 某个sqlserver的表@dblink名字 .... ...
- (转)[SQL Server] 动态sql给变量赋值(或返回值给变量)
本文转载自:http://blog.csdn.net/xiaoxu0123/article/details/5684680 [SQL Server] 动态sql给变量赋值(或返回值给变量) decla ...
- SQL Server 2008 /SQL Server 2008 R2 配置数据库邮件
原文:SQL Server 2008 /SQL Server 2008 R2 配置数据库邮件 从2005开始,就引入了"数据库邮件"功能.并且取代SQLMail.原有SQLMail ...
- SQL Server审计功能入门:SQL Server审核 (SQL Server Audit)
原文:SQL Server审计功能入门:SQL Server审核 (SQL Server Audit) 介绍 Audit是SQL Server 2008之后才有的功能,它能告诉你"谁什么时候 ...
随机推荐
- 【转】C 宏
http://www.cs.yale.edu/homes/aspnes/pinewiki/C%282f%29Macros.html See KernighanRitchie Appendix A12. ...
- Windows Server 2008 R2: 创建任务计划
task Scheduler 在业务复杂的应用程序中,有时候会要求一个或者多个任务在一定的时间或者一定的时间间隔内计划进行,比如定时备份或同步数据库,定时发送电子邮件等. 创建一个任务计划: 开始St ...
- oracle将多条数据合并成一条
select t.col1,t.col2 ,wmsys.wm_concat(t.col3||' ') AS col3 , wmsys.wm_concat(t.col4||'') as col4,w ...
- Log4Cplus的介绍
Log4Cplus是一款很好的开源日志打印程序,该日志打印程序的配置文件为类似INI的文件,以下为该日志打印程序配置文件中的说明: 1.#—注释行的开头表示,即以该字符开头的行,改日志程序不解释改行内 ...
- Http权威指南(一)---读书笔记
Chart1 ====概述==== 最简单的的资源是web服务器文件系统中的静态文件.当然可以上动态,但要经过网关?(不确定) 下面见图: 2. URI(uniform Resource Ident ...
- Ubuntu12.04更新openssl使用源码
下载openssl新版本源码和编译安装 wget ftp://ftp.openssl.org/source/openssl-1.0.2f.tar.gz tar zxf ./openssl-1.0.2f ...
- linux 网络联接
安装完进入系统以后需要配置ip 方法一:图形界面直接配置,在system下的prefrecens下面的network下面设置 方法二: 在安装虚拟机的时候选择“bridge networking ”网 ...
- 【转】ChainMapper 实例理解一
通过ChainMapper可以将多个map类合并成一个map任务. 下面个这个例子没什么实际意思,但是很好的演示了ChainMapper的作用. 源文件100 tom 90101 mary 85102 ...
- EasyUI DateBox 按钮自定义添加功能
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...
- sql语句 优化技巧
1.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描. 2.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉 ...