基本SQL语句

 
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
 
v GO语句将多个T-SQL语句作为一个批处理执行。
v GO语句可以将多个语句分成不同的批来执行,一个
   GO叫做一个批,一个批被一起提交。
§ CREATE DATABASE cwdb
§ Go
§ USE cwdb
§ Go
§ CREATE TABLE list
§ ( 姓名 nvarchar(10),
§  年龄 int,
§  部门 nvarchar(6))
§ Go
§ 如果没有GO
 
v 列出所有人的平均年龄 ?
v Select avg(age) from book
v Select avg(age) as 平均年龄 from book
n 列出每个岗位的平均年龄?
 
查询不同工作人员的平均年龄?
v Select avg(age) as 平均年龄 from book
   Group by job
v Select avg(age) as 平均年龄,job as 工作
    from book Group by job
 
v Avg()只能对数值型数据进行计算
v Avg()返回的数据的数据类型和原值一样
v Group 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 后边能加任何的数值类型
 

你可能感兴趣的:(数据库,职场,休闲)