--新建数据库
create database Studentdb
go --使用数据库
use Studentdb
go --新建表
create table Username
(
StudentNo int identity(1,1) not null,--学号并设置标识列
LoginPwd nvarchar(20) not null,--密码
StudentName nvarchar(20) not null,--姓名
Sex char(2) not null,--性别
GradeId int not null,--年级
Phone nvarchar(20)not null,--电话
Address nvarchar(40) not null,--地址
BornDate datetime,--生日
Email nvarchar(20) not null,--邮件
) --创建一个主键约束
alter table Username
add constraint Keyname--主键的别名
primary key(StudentNo) --通过select into语句将现有表中的数据添加到新表中
select identity(int,1,1) as StudentNo
into NewTable
from Username --通过UNION关键字合并数据进行插入
insert Username(LoginPwd,StudentName,Sex,GradeId,Phone,Address,BornDate,Email)
select '','秦浩天','男','S2','','北京抚琴南路',1992-05-12,'qht@163.com' UNION
select '','王冰','女','Y2','','上海交大西门',1990-10-05,'wangbin@xina.com' --使用UPDATE更新数据
update Username
set StudentName='秦浩然'
where StudentName='秦浩天' update Score
set Score=Score+5
where Score <= 95 --使用delete删除数据
delete from Username
where StudentName='秦浩然' --使用truncate table删除数据
truncate table Username --查询部分行或列
select LoginPwd,StudentName,Address
from Username
where StudentName='王冰'--反之:where StudentName<>'王冰' --查询中使用别名
select StudentName as 学生姓名,Address as 地址,Phone as 电话号码
from Username
where StudentName <> '王冰'
--查询结果合并
select StudentName+'.'+LoginPwd as 姓名.密码
from Username select 姓名.密码 = StudentName+'.'+LoginPwd
from Username --查询空值
select StudnetName
from Username
where LoginPwd is null --用常量指定学校
select 姓名=StudentName,地址=Address,'北京大学' as 学校名称
from Username --显示前3条数据
select top 3 *
from Username --按数据量的百分比显示此处显示20%
select top 20 percent StudnetName,Address
from Username --使用order by排序,默认为asc
select *
from Score
order by Score,desc
--年龄如果为空姓名按降序排序
select *
from Student
where Age is null
order by StudentName desc --用来寻找一个指定字符串在另一个字符串中的起始位置
select charindex('name','My name is hqs',1)--返回int值:4 --返回字符串长度
select len('不是穿上情侣装就可以装情侣')--返回int值:26 --字母转换为大写
select upper('my name is tom')--返回大写值:MY NAME IS TOM --清除字符左边的空格
select ltrim(' I love you ')--返回:I lovey you --清除字符右边的空格
select rtrim(' me too ')--返回: me too --从字符串右边返回指定数目的字符
select right('北京.上海',2)--返回:上海 --替换一个字符串
select replace('爱上你等于爱上了错''上','下')--返回:爱下你等于爱下了错 --删除指定长度,并插入新的字符串
select stuff('',2,4,'中华人民')--返回:1中华人民6 --获取系统当前时间
select getdate()--返回系统当前时间:2009-05-11 12:00:00.000 --将指定的数值添加到指定的日期部分后的日期
select dateadd(mm,4,'01/05/1992')--返回:05/05/1992 注意这里的:4和日期中的天数 --两个日期之间的间隔
select datediff(mm,'01/05/1992','05/05/1992')--返回:4 --指定字符串形式
select datename(dw,'01/01/2000')--返回:当前是星期几
--年:yy 季度:qq 月份:mm 一年中第几天:dy 天:dd 周:wk 一周星期几:dw 小时:hh 分钟:mi 秒钟:ss 毫秒:ms --指定日期中的整数
select datepart(day,'01/15/2000')--返回15 --返回0到1之间的随机float值
select rand()--返回:0.7952618415626 --取数值表达式的绝对值
select abs(-43)--返回:43 --向上取整数
select ceiling(43.5)--返回:44 --向下取整数
select floor(43.5)--返回:43 --取数值表达式的幂值
select power(5,2)--返回:25 --四舍五入为指定精度
select round(43.541,1)--返回:43.500 --对于正数返回+1,对于负数返回-1,对于0返回0
select sign(-12)--返回:-1 --取浮点表达式的平方根
select sqrt(9)--返回:3 --转变数据类型
select convert(varchar(5),'')--返回int型:12345 --返回当前用户的名字
select current_user--返回:你登录的用户名 --返回用于用于指定表达式的字节数
select datalength('我的世界我做主')--返回:7 --返回当前用户所登录的计算机名字
select host_name()--返回:你所登录的计算机的名字 --返回当前所登录的用户名称
select system_user--返回:你当前所登录的用户名 --给定用户的ID返回用户名
select user_name(1)--返回:从任意数据库中返回"dbo" --使用like进行模糊查询
select * from Username where StudentName like '王%' --between在某个范围内进行查询
select * from Username where BornDate not between '2010-01-01' and '2010-12-12' --使用in在列举值内进行查询
select StudentName as 学生姓名
from Username
where Address in('北京','广州','上海')
order by Address --sum()求和
select sum(Score) as 学号为23的学生总分
from Score
where StudentNo=23 --avg()求平均
select avg(Score) as 平均成绩
from Score
where Score>=60 --max()最大值 min()最小值
select avg(Score) as 平均成绩,max(Score) as 最高分,min(Score) as 最低分
from Score where Score >=60 --count() 集中计数
select count(*) as 及格人数
from Score
where Score>=60 --group by分组查询
select CourseId,avg(Score) as 课程平均成绩
from Score
group by CourseId --查询男女学生的人数各是多少
select count(*) as 人数,SSex from Username
group by SSex --查询每个年级的总人数
select count(*) as 年级人数,SGrade from Students
group by SGrade --查询每个科目的平均分,并按照由低到高的顺序排列
select CourseId, avg(Score) as 课程平均成绩 from Score
group by CourseId
order by avg(Score) desc --多列分组查询
select count(*) as 人数,SGrade as 年级,SSex as 性别 from Students
group by SGrade,SSex
order by SGrade --查看一个班人数超过15个的年级
select count(*) as 人数,SGrade as 年级 from Students
group by SGrade
having count(*)>15 --查询平均分及格的课程信息
select CourseId as 课程编号,avg(Score) as 课程平均成绩
from Score
group by CourseId
having avg(Score)>=60 --查询每门课程及格总人数和及格学生的平均分
select count(*) as 人数,avg(Score) as 平均分,CourseId as 课程 from Score
where Score>=60
group by ScourseId --查询每门课程及格总人数和及格平均分在80分以上的记录
select count(*) as 人数,avg(Score) as 平均分,CourseId as 课程 from Score
where Score>=60
group by CourseId
having avg(Score)>=80 --查询有多个员工工资不低于2000的部门编号
select 部门编号,count(*) from 员工信息表
where 工资>=2000
group by 部门编号
having count(*)>1 --在where子句中指定连接条件
select StudentName,CourseId,Score
from Students,Score
where Scode = StudentId --在from 子句中使用inner join..on
select S.StudentName,C.CourseId,C.Score
from Students as S
inner join Score as C on (S.Scode = C.StudentId) --左外连接查询
select S.SName,C.CourseId,C.Score
from Students as S
left outer join Score as C on S.Scode = C.StudentId --右外连接查询
select Titles.Title_id,Titles.Title, Publishers.Pub_name
from titles
right outer join Publishers on Titles.Pub_id=Publishers.Pub_id 转载出至:http://blog.csdn.net/heqingsong1/article/details/7495496

T-SQL 基础学习 01的更多相关文章

  1. Oracle SQL 基础学习

    oracel sql 基础学习 CREATE TABLE USERINFO ( ID ,) PRIMARY KEY, USERNAME ), USERPWD ), EMAIL ), REDATE DA ...

  2. SQL 基础学习(2) Joining 和function , 作业没有做,需要看百宝箱。NOsql的概念

    SQL 基础学习(2) Joining 可以同时关联(joining)多张表进行复杂的查询. 相比于用Rails捞出数据再用Ruby进行过滤组合,使用SQL更加高效,节能. 以下是 users has ...

  3. SQL 基础学习(1):下载DB Browser for SQLite. 下载graphviz(为了使用Rails ERD的前提)出现❌,已debug.

    SQL is a standard language for storing, manipulating and retrieving data in databases. 关系型数据库:RDBMS( ...

  4. SQL基础学习_04_视图

    视图 1. 视图的创建     视图就是保存好的SELECT语句,这些SELECT语句执行之后会产生新的表,所以在SQL中,视图和表是不做差别对待的,也就是SQL也可以对视图做一些操作:     由于 ...

  5. sql基础学习

    学习参考网站:http://www.runoob.com/sql/sql-tutorial.html 一.SQL命令 1.SELECT 语句 用于从数据库中选取数据. select column_na ...

  6. XML基础学习01

    XML学习 1:XML:可扩展的标识语言,是一种描述结构数据的格式,简化了网络中数据交换和表示,使得代码,数据和表示分离,并作为数据交换的标准格式,被称为智能数据文档. 2:当我们不使用数据库来存储数 ...

  7. java基础学习01

    学习主意:边看视频,边编写代码,学习成果体现在代码

  8. [AngularJS学习笔记] 基础学习01

    2016-06-06开始学习AngularJS AngularJS是会extend HTML的 ng-directives 先学习了四个 ng-app:定义AngularJS Application的 ...

  9. pyqt listview基础学习01

    from decimal import * from PyQt4.QtGui import * from PyQt4.Qt import * from PyQt4.QtCore import * im ...

随机推荐

  1. 关于line-height

    line-height不允许负值,给定值之后会根据font-size计算行高,line-height指定的行高是行高最小值,设置height可以增大行高 line-height的计算:以px为例,li ...

  2. 常见linux命令释义(第九天)—— Bash Shell 的操作环境Shell 中的管道命令一些管道命令

    最近好懒好懒.连写文章都写不好了.于是只能写读一点书,记一点读书笔记了.太懒了,没办法.慢慢恢复自己的状态吧. 管道命令仅会处理strandard output 的内容,对于strandard err ...

  3. ArcEngine地图窗口指定区域导出指定DPI多格式---delphi/C#实现

    delphi/C#实现,其他语言稍微改下就行了.AE的编码各个语言都差不多,这里也没用到某一语言的特性. 函数特点: 1.可以精确导出指定范围的图形要素 2.支持多格式.TIF, .EMF,.GIF, ...

  4. group by 查询分组后 组的条数

    比如select gid from table group by gid 查询时使用下面的方法查询条数 select count(distinct gid) from table 使用select c ...

  5. jquery实现简单瀑布流布局

    jquery实现简单瀑布流布局 是开头都会说的原理 瀑布流布局有两种,一种是固定列,一种是非固定列.在此主要记述第一种的实现. 固定列的特征是:无论页面如何缩放,每行的总列数都一致. 一行4列的瀑布流 ...

  6. Fedora 24 Gnome Boxes 无法ping通网络

    安装Fedora 24在试用虚拟机时发现无法ping通外网. 我傻傻地以为是软件问题. 问题描述: 尝试ping程序来测试网络连通性: (我之前也是ping百度,后来在为了少打字百度了一些比较短的域名 ...

  7. RSync实现文件备份同步

    [rsync实现网站的备份,文件的同步,不同系统的文件的同步,如果是windows的话,需要windows版本cwrsync] 一.什么是rsync rsync,remote synchronize顾 ...

  8. [Unity3d]3D项目转换为VR项目(暴风魔镜SDK)

    使用暴风魔镜SDK来操作 将魔镜的摄像头拖放到项目中: 将MoJingVrHead的Script剪切到CamRoot中: 这个时候能看到显示2个物体了,不过使用的Canvas还是显示一个: 调整Can ...

  9. Hibernate映射文件如何配置触发器

    Hibernate映射文件之触发器生成(generated属性.database-object元素) (2013-02-27 12:28:49) 转载▼ 标签: it 分类: JAVA学习笔记 这里分 ...

  10. iframe框架在IE浏览器,360兼容浏览器下将白色背景设为透明色

    <IFRAME ID="Frame1" SRC="transparentBody.htm"></IFRAME> iframe在大部分浏览 ...