select什么的略过
distinct
作用:去除重复的项(行)(信息重复,若有一列不一样就不能删 )
select distinct 列名 from 表名
top
/*获取前三行信息 */
select top 3 * from 表名
/*获取前40%信息*/
select top 40 percent * from 表名
多表关系
一对多:部门与员工的关系,具体实现:在多的一方建立外键,指向一的一方的主键
多对多:学生与课程的关系,实现:建立中间表,中间表至少包含两个外键,分别关联两方主键
一对一:用户与用户详情的关系,实现:可在任意一方加入外键,关联另一方的主键并设置外键为唯一
连接查询
内连接查询:查询两张表交集的部分
外连接查询:
Order by
order by 分组,主要是与聚合函数相结合,根据一个或多个列对结果进行分组
ASC升序,DESC降序
/* 查询按省份升序,姓名降序的信息*/
select * from 表名 order by 省份 ASC,姓名 DESC
insert into
/*向表里插入记录*/
insert into 表名(列1,列2,列3) value (‘值1’,‘值2’,‘值3’)
having与where区别
where筛选出符合条件的行,不能与聚合函数连用
having筛选出满足条件的组,可与聚合函数连用,group by
update
更新语句
update 表名 set 列名=值,列2=值 where 条件(列=值)
like
/* 查找地址以a开头的任何值 */
select * from 表名 where 地址 like 'a%'
not like:不含有什么
%:0个或多个字符
_:下划线,表示一个字符
In
in允许where子句中指定多个值
/*查找省份位于上海市,北京市,广东省的信息*/
select * from 表名 where 省份 in (‘上海市’,‘北京市’,‘广东省’)
in后面也可以括号括一个子查询
Union
组合两个或更多select语句的结果集,union中每个select语句具有相同的列数,这些列也必须有相似的数据类型,每个select语句中的列也必以相同的顺序排序。
view
view是一个虚拟表,其内容由查询定义,和真是表差不多也包含行列数据,但是视图并不在数据库中以存储的数据值集形式存在。
creat view 视图名 as select ...