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
nbook表中查询姓名:
   SELECT name FROM book
nbook表中查询姓名和工作:
   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 ('会计','教师')
vT-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每个岗位年龄在4050岁之间的人的平均年龄?
  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 后边能加任何的数值类型