database_name 用于指定在哪个数据库中创建数据表胡数据库名称。
owner 用于制定创建该数据表胡所有者。
table_name 用于制定数据表的名称。
column_definition 用于定义数据表中的字段名称。
on {filegroup/default} 用于制定数据表所存储的文件组
textimage_on{ filegroup/default }用于指定数据表中text和image文件所存储的文
件组
data_type 用于指定数据表中各个字段的数据类型
constant_expression 用于指定自字段默认值的常量、null或者系统函数
identity 用于指定该字段为标识字段
seed 用于定义标识字段的起始值
increment用于定义标识增量
column_constraint 用于指定该字段所具有的约束条件
一.数据查询
select子句 用来指定由查询返回的列
all | distinct用来标识在查询结果集中是否显示相同行
select_list用来指定要显示的目标列,多个目标之间用半角逗号隔开,指定为* into new_table 用来将查询胡结果集插入到一个新的数据表中
from table_source子句 用来指定数据源
where search_conditions子句用来指定限返回行的搜索条件
group by group_by_expression子句 用来指定查询结果胡分组条件
having search_ conditions子句 用来指定组或聚合的搜索条件
order by order_by_expression [asc | desc] 子句 用来指定结果集的排序方式
1. select 基本语句
select column_name
from table_name
eg:
2. 取消重复元组
select distinct column_name
from table_name
3. 使用top关键字
select [top n] [*|column]
from table
4. 查询计算列
use 学生成绩管理系统
select 学号: + 学号 +- 姓名: + 姓名 + - 性别: +性别 as 基本信息 ,出生日期
select语句查询日期 from 学生信息
5. 使用别名查询
一种
use 学生成绩管理系统
from 学生信息
二种
use 学生成绩管理系统
select sno =学号, name=姓名, sex=性别
from 学生信息
三种
use 学生成绩管理系统
select 学号 assno , 姓名 as name, 性别 as sex
from 学生信息
6. 比较运算符
表达式1 比较运算符表达式2
7. 范围运算符
where expression [not] between value1 and value2
not 为可选项 下限 上限
8. 逻辑运算符
use 学生成绩管理系统
select *
from 教师信息 where 性别=男 and 年龄>40
9. 字符匹配
where expression [not] like string
not为可选项 string为相匹配的元组 ‘%’表示任意长度胡字符串
字符
_莎% 第二个字符为莎
10. 列表运算符
where expression [not] in value_list
11. 未知数
where 列名 is null | is not null
12. 排序查询
_’ 表示任意单个‘
use 学生成绩管理系统
select*
from 学生信息 order by 出生日期 asc , 所属班级 desc
升序 降序
13. 分组查询
use 学生成绩管理系统
select 所属系别 ,sum(班级人数 ) as 总体人数
from 班级信息 group by 所属系别
group by一般与统计函数一起使用
14. 统计查询
use 学生成绩管理系统
select 所属系别 ,sum(班级人数 ) as 总体人数
from 班级信息 group by 所属系别
having sum(班级人数) > 40
15. 简单的数据插入
insert [into] table_or_view [(column_list)] values data_values新数据的表或试图名 数据表的列名新数据值
use 学生成绩管理系统
insert into 学生信息(学号,姓名,性别) values(1,小高,男)
16. 将查询结果插入到一个新表中
use 学生成绩管理系统
insert into 新学生信息(学号,姓名,性别)
select 学号,姓名,性别
from 学生信息
17. 根据表中数据更新行
use 学生成绩管理系统
update 班级信息
set 班级人数 = 班级人数+10
18. 使用delete语句
delete table_or_view
from table_sources
where search_condition
19. 内连接
inner join 或join
select select_list
from table1 inner join table2 [on join_conditions]
[where search_conditions]
[order by order_expression]
等值连接【只有=】
use 学生成绩管理系统
select s *,c *
from 学生信息 s join 成绩信息 c on s.学号=c.学生编号
非等值连接【有>,<…】
use 学生成绩管理系统
select s.学号,g.学生编号,g.分数
from 学生信息 s inner join 成绩信息 g on s.学号=g.学生编号 and g.分数>90 order by g.分数 desc
自然连接【消除重复属性的等值连接】
use 学生成绩管理系统
select s.姓名,s.学号,g.学生编号,g.分数
from 学生信息 s inner join 成绩信息 g on s.学号=g.学生编号
20. 外连接
完全连接【返回两个表中所有匹配和所有不匹配的行】
use 学生成绩管理系统
select c.班级编号,c.班级名,d.系别编号,d.系别名称
from 班级信息 c full outer join 系别信息 d on c.所属系别=d.系别编号 左外连接【返回所有匹配行以及join 关键字左边表中不匹配的行】
use 学生成绩管理系统
select c.班级编号,c.班级名,d.系别编号,d.系别名称
from 班级信息 c left outer join 系别信息 d on c.所属系别=d.系别编号 右外连接【。。。。。】
use 学生成绩管理系统
select c.班级编号,c.班级名,d.系别编号,d.系别名称
from 班级信息 c right outer join 系别信息 d on c.所属系别=d.系别编号
21. 交叉连接
不使用where【返回被连接两个表中的所有行的笛卡尔积】
use 学生成绩管理系统
select s.学号,g.学生编号,g.分数
from 学生信息 s cross join 成绩信息 g
使用where【返回被连接两个表中的所有行的笛卡尔积减去不符合where子句查询条件的数据行】
use 学生成绩管理系统
select s.学号,g.学生编号,g.分数,g.课程编号
from 学生信息 s cross join 成绩信息 g
where s.学号=g.学生编号 and 课程编号=10
order by 分数 desc
22. 自然接【】与自己连接
use 学生成绩管理系统
select s.课程编号, c.任课教师
from 课程信息 s, 课程信息 c where s.课程编号=c.课程编号
23. 联合查询【union运算符可以将两个或两个以上select语句查询合并起来】 select select_list
from table_source
[where search_conditions]
union
select select_list
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论