SQL数据库经常使用命令

  • SQL经常使用命令

一、order by  对结果集 排序。ASC:升序(默认),DESC:降序。

Select * from A order by age desc,id ASC     //age降序,id升序


     group by 根据必定规则对数据进行分组,将一个“数据集”划分红若干个“小区域”,而后针对若干个“小区域”进行数据处理。用group by all 多列分组。常和 sum,max,min ,count 等聚合函数一块儿使用,与group by联用的having子句是筛选知足条件的组,与where不一样的是在分组以后过滤数据
 
 好比一个表中,有a、b、c三种类别,每一个类别不一样的数量,能够用
     select  类别,数量  from  表名  group by 类别
 返回的结果实际就是分类汇总a、b、c三种对应的数量

     select 类别,数量 from 表名 group by 类别 having  数量>20
在结果里显示分组数量>20的结果



CREATE TABLE Student(
ID int PRIMARY KEY,
NAME VARCHAR2(50) NOT NULL);//建表
    CREATE VIEW view_name AS
Select * FROM Table_name;//建视图
CreateUNIQUEINDEXindex_nameONTableName(col_name);//建索引
//插入
INSERT INTO tablename {字段1,字段2,字段3 …} values(值1,值2,值3 …);

insert into 目标数据表 select * from 源数据表  //把源数据表的记录添加到目标数据表
//插入视图
INSERT INTO Viewname {column1,column2,…} values(exp1,exp2,…);
//更新数据
update table1 SET 字段名=字段值 where 条件表达式 ;
update table1 SET 字段1=值1,字段2=值2...字段n=值n where 条件表达式;
//查询
select * from tablename where 字段名=值 order by 字段名 desc
select * from tablename where 字段名 like '% 值 %' 
select * from tablename where 字段名 in ('值1','值2','值3')
select * from tablename where 字段名 between 值1 and 值2
//删除
DELETE FROM Table WHERE ...;
delete from tablename; //将数据表全部记录删除 注意表还在,DROP 是永久性删除一个数据表
GRANT (Select,delete,…) ON (对象) TO USER_NAME [WITH GRANT OPTION];//受权
REVOKE (权限表) ON(对象) FROM USER_NAME [WITH REVOKE OPTION] //撤权
Select E.NAME, S.NAME FROM EMPLOYEE E S
WHERE E.SUPERName=S.Name     //列出工做人员及其领导的名字


//列出不一样的值  distinct

select distinct name from A     //做用于单列,只有name不一样的行被显示
select distinct name, id from A     //做用于多列,name+id都不一样的行被显示
//规定返回的行数  top

Select TOP 2 *FROM A     //TOP n 说明返回n行
Select TOP 20 PERCENT * FROM A     //;TOP n PERCENT说明返回的行数等于总行数的百分之几
//合并或多个 SELECT 语句的结果集          UNION

select name from table_name1
UNION
select name from table_name2

select name from table_name1
UNION ALL
select name from table_name2

注意:UNION 操做符选取不一样的值。若是容许重复的值,请使用 UNION ALL
//链接

经过链接运算符能够实现多个表查询。链接是关系数据库模型的主要特色,也是它区别于其它类型数据库管理系统的一个标志。
内链接:等值链接、不等链接、天然链接
外链接:左外链接、右外链接、全链接
交叉链接:也称迪卡尔积

内链接
//等值链接     在链接条件中使用等于号(=),结果包括重复列
 select * from A,B where A.Id = B.Id
 等同于
 select * from A inner join B on A.Id = B.Id
//不等链接     >、<、<>、>=、<=、!>和!<
select * from A inner join B on A.Id <> B.Id
//天然链接     使用=,结果不能重复

外链接
//左链接     返回左表中的全部行,若是左表中行在右表中没有匹配行,则结果中右表中的列返回空值
select * from A left join B on A.Id = B.Id
//右链接
select * from A right join B on A.Id = B.Id
//全链接     返回左表和右表中的全部行。当某行在另外一表中没有匹配行,则另外一表中的列返回空值
select * from A full join B on A.Id = B.Id

交叉链接     
//返回结果的行数等于两个表行数的乘积,m×n
select *from A cross join B
相关文章
相关标签/搜索