--插入整行数据
insert into [dbo].[person] values('Hasaki', 35, '1983-08-29', 'A', 'A', 'A') --插入部分列数据
insert into [dbo].[person] (name, age, birth) values('Hasaki', 35, '1983-08-29') --删除行记录
delete from person where name = 'John' --更新数据库
update person set study = 'A' where name = 'Amy' --去除重复行
select distinct name from [dbo].[person] --TOP 选择前n条记录
select top 1 * from [dbo].[person] --TOP 选择前百分n条记录
select top 50 percent * from [dbo].[person] --LIKE 通配符'_'匹配一个任意字符
select * from [dbo].[person] where name like 'T_m' --LIKE 通配符'%'匹配0个或多个任意字符
select * from [dbo].[person] where name like '%Tom' --LIKE 通配符'[]'匹配括号里任一字符
select * from [dbo].[person] where name like '[TJA]%' --LIKE 通配符'[^]'匹配不在括号里的任一字符
select * from [dbo].[person] where name like '[^TJA]%'

连接

  连接操作是是通过笛卡尔积运算进行的。例如下面两个分别有三条记录的表student和course连接时,实际就是两两匹配,产生9条记录。

name age
Hasaki 14
Noki 16
Yummy 15
course name
chinese Hasaki
english Yummy
math Kilo

  

笛卡尔积结果为:

name age name course
Hasaki 14 Hasaki chinese
Hasaki 14 Yummy english
Hasaki 14 Kilo math
Noki 16 Hasaki chinese
Noki 16 Yummy english
Noki 16 Kilo math
Yummy 15 Hasaki chinese
Yummy 15 Yummy english
Yummy 15 Kilo math

  数据库的连接操作结果是笛卡尔积运算后经过筛选剩余的部分。

--内连接
select * from Course join person on person.name = course.name

  提取 course.name 和 person.name 相等的记录,结果:

name age name course
Hasaki 14 Hasaki chinese
Yummy 15 Yummy english
--左连接
select * from course left join person on person.name = course.name

  提取 course.name(左表) 和 person.name(右表) 相等的记录,而且对于左表的每一条记录,在结果数据集中最少出现一次。

对于左表中一条记录,如果在右表不存在匹配记录,那么结果集中右表部分的数据为NULL,结果:

name course name age
Hasaki chinese Hasaki 14
Yummy english Yummy 15
Kilo math NULL NULL
--右连接
select * from Course right join person on Course.pName = person.name

  情况和左连接相反,结果:

name course name age
Hasaki chinese Hasaki 14
Yummy english Yummy 15
NULL NULL Noki 16

    

--全连接
select * from Course full join person on Course.pName = person.name

  提取 course.name(左表) 和 person.name(右表) 相等的记录,而且对于左表、右表的每一条记录,在结果数据集中最少出现一次。对于左表中一条记录,如果在右表不存在匹配记录,那么结果集中右表部分的数据为NULL。对于右表中一条记录,如果在左表不存在匹配记录,那么结果集中左表部分的数据为NULL。结果:

name course name age
Hasaki chinese Hasaki 14
Yummy english Yummy 15
NULL NULL Noki 16
Kilo math NULL NULL

sql server数据库操作的更多相关文章

  1. 【转】sql server数据库操作大全——常用语句/技巧集锦/经典语句

    本文为累计整理,有点乱,凑合着看吧! ☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆☆ ☆ ☆ ☆ sql 宝 典 ☆ ☆ ☆ 2012年-8月 修订版 ☆ ...

  2. SQL server 数据库 操作及简单查询

    使用SQL Sever语言进行数据库的操作 常用关键字identity 自增长primary key 主键unique 唯一键not null 非空references 外键(引用) 在使用查询操作数 ...

  3. SQL SERVER 数据库操作脚本

    创建数据库 create Database MYDB on ( Name=mydb_dat, FileName='c:\data\mydate.mdf',size=10,maxsize=50 ) LO ...

  4. SQL Server 数据库操作类

    /// <summary> /// SQLServerHelper的摘要说明. /// </summary> public class SQLServerHelper { pu ...

  5. JDBC连接sql server数据库操作

    1.首先,先创建一个连接数据库的工具类: package gu.db.util; import java.sql.Connection; import java.sql.DriverManager; ...

  6. c# SQL Server数据库操作-数据适配器类:SqlDataAdapter

    SqlDataAdapter类主要在MSSQL与DataSet之间执行数据传输工具,本节将介绍如何使用SqlDataAdapter类来填充DataSet和MSSQL执行新增.修改..删除等操作. 功能 ...

  7. c# SQL Server数据库操作-管理命令参数的类:SqlParameter

    使用SqlCommand类来执行Transact-SQL语句或存储过程时,有时需要用参数传值或作为返回值,SqlParameter类正是为了此需要而设计的类.下面介绍如何使用该类为SqlCommand ...

  8. C#操作access和SQL server数据库代码实例

    在C#的学习中,操作数据库是比较常用的技术,而access和sql server 数据库的操作却有着不同.那么,有哪些不同呢? 首先,需要引用不同的类.因为有着不同的数据引擎. access:usin ...

  9. SQL Server数据库远程操作

    SQL Server数据库远程操作中,在使用openrowset/opendatasource前首先要启用Ad Hoc Distributed Queries服务,因为这个服务不安全所以SqlServ ...

随机推荐

  1. hbm.xml 详解总结

    转自 http://blog.csdn.net/tuke_tuke/article/details/49717991 一.hibernate映射文件的作用: Hibernate映射文件是Hiberna ...

  2. LR12.53—第3课:重播Vuser脚本

    第3课:重播Vuser脚本 在前面的教训,你记录了一组典型的用户行为,并准备重播脚本. 重播脚本之前,您可以配置脚本的运行时设置,它定义了Vuser的行为. 注:记录与基于Web的协议的地方WebTo ...

  3. session 丢失和解决方案

    在ASP.NET的开发中,总遇到Session丢失.最常见的情况是当用户登录后将用户信息保存在Session中例如Session["user"]=user;在其后的页面中检查Ses ...

  4. $.getJSON在IE8下失效

    $.getJSON("/Home/GetData?r=" + Math.random(), { ids: ids }, function(data) { //处理逻辑 }); 原因 ...

  5. 1.mysql基础之 php 连接

    1.连接数据库 $db=@mysql_connect('DB_HOST','DB_USER','DB_PASS') or die("Unable to connect"); DB_ ...

  6. JS定时程序,设定一个一直刷新,又时间间隔的js,读取当前的时间并显示

    <!doctype html><html><head><meta charset="utf-8"><title>无标题文 ...

  7. JS函数

    1.document.write(""); 输出语句2.JS中的注释为//3.传统的HTML文档顺序是:document->html->(head,body)4.一个浏 ...

  8. sql 递归子查询

    select (SELECT (Case A1.AreaAbbr WHEN '' THEN A1.AreaName Else A1.AreaAbbr  END)+ ' ' FROM AreaLang ...

  9. 返回多个类型的对象,Tuple

    一个方法 通常只有一个 返回对象,有时候 我们遇到 要放回两个不同类型的值的时候, 这个时候可以使用Tuple. 对象. Tupele 只支持 .net framework 4.0 以上版本. 来!先 ...

  10. nodejs安装心得

    首先下载nodejs,http://nodejs.org/download/ 配置系统环境变量 管理员运行cmd, 输入命令 node -v 查看版本 安装npm Npm安装命令 npm-1.3.15 ...