v创建数据表
CREATE TABLE 地址本
( 姓名 char(10),
地址 char(50),
职位 char(20),
基本工资 money )
v数据表中插入数据
INSERT INTO 地址本
VALUES('张三','北京市海淀区','销售代表',2500)
INSERT INTO 地址本
VALUES('李四','上海市浦东新区','销售经理',4000)
v把“地址本” 表内容导入到“记事本”新表中
SELECT * INTO 记事本 FROM 地址本
v更改表中数据
UPDATE 地址本
SET 基本工资=基本工资*1.1
WHERE 姓名='张三'
v删除表中指定记录
DELETE FROM 地址本 WHERE 姓名='张三'
v删除表中所有记录
DELETE FROM 地址本
v在数据表中增加列
alter table 地址本 add 年龄 int
v在数据表中清除列
alter table 地址本 drop column 年龄
v删除数据表
drop table 地址本
n从数据库的book表中查询出所有的信息:
SELECT * FROM book
n从book表中查询姓名:
SELECT name FROM book
n从book表中查询姓名和工作:
SELECT name ,job FROM book
n在结果集中给以上查询的列以别名显示:
SELECT name AS 姓名,job AS 工作 FROM book
n查询book表中年龄为35岁的人的详细信息:
SELECT * FROM book
WHERE age=35
n查询book表中工作岗位是总经理的详细信息:
SELECT * FROM book
WHERE job='总经理'
n查询book表中工作岗位不是总经理的详细信息:
SELECT * FROM book
WHERE job <> '总经理'
n查询book表中年龄在18和40岁之间(不包括18和40)的姓名?
SELECT name,age FROM book
WHERE age > 18 AND age < 40
n查询book表中年龄在18和40岁之间(包括18和40)的姓名?
SELECT name,age FROM book
WHERE age BETWEEN 18 AND 40
v查询book表中工作为会计或者教师的详细信息:
SELECT * FROM book
WHERE job ='会计' or job='教师'
v查询 book表中工作为会计或者教师的详细信息:
SELECT * FROM book
WHERE job IN ('会计','教师')
v在T-SQL中数值类型的数据不用‘’
v字符型的数据要使用‘’
n查询 book表中工作值为NULL的记录:
SELECT * FROM book
WHERE job IS NULL
n查询 book表中工作值非空的记录,使用IS NOT NULL:
SELECT * FROM book
WHERE job IS NOT NULL
n查询book表中年龄小于20岁人工作岗位?
SELECT DISTINCT job FROM book
where age<20
DISTINCT去除重复的查询纪录
v查询工作为会计人的详细信息并按年龄排序?
SELECT * FROM book
WHERE job='会计'
Order by age,name desc
默认为升序 Order by age asc(可省略)
降序为 Order by age desc
在年龄相同的情况下以姓名降序排序
Order by age,name desc(年龄升序,姓名降序)
v模糊查询 like , not like , % , _
v查找book表中tel 头三位为136的所有项 ?
Select * from book where tel like '136%'
v查找book表中tel 倒数二三位是78的所有项?
Select * from book where tel like '%78_'
v% 代替若干位 %38% 含有38的数据
v_ 代替一位
v不能用 = 只能用like not like
vGO语句将多个T-SQL语句作为一个批处理执行。
vGO语句可以将多个语句分成不同的批来执行,一个
GO叫做一个批,一个批被一起提交。
§CREATE DATABASE cwdb
§Go
§USE cwdb
§Go
§CREATE TABLE list
§( 姓名 nvarchar(10),
§ 年龄 int,
§ 部门 nvarchar(6))
§Go
§如果没有GO
v列出所有人的平均年龄 ?
vSelect avg(age) from book
vSelect avg(age) as 平均年龄 from book
n列出每个岗位的平均年龄?
查询不同工作人员的平均年龄?
vSelect avg(age) as 平均年龄 from book
Group by job
vSelect avg(age) as 平均年龄,job as 工作
from book Group by job
vAvg()只能对数值型数据进行计算
vAvg()返回的数据的数据类型和原值一样
vGroup by 语句最好不要对有空值的列进行分组,否则它会把空值分成一组,进行聚合
v每个岗位年龄在40—50岁之间的人的平均年龄?
Select avg(age) as 平均年龄,job from book
Where age <=50
And age >=40
Group by job
查询平均年龄大于30岁岗位的平均年龄?
并以平均年龄降序排序?
Select avg(age) as 平均年龄,job from book
Group by job
Having avg(age)>30
Order by 平均年龄 desc
注意:A:先筛选,再计算用where
计算之后,再筛选用having
B:因为>两边只能用数值型的数据,所以用
avg(age),不用平均年龄,否则会出错。
Order by 后边能加任何的数值类型。
转载于:https://blog.51cto.com/myelf/171588