SQL常用指令集(Oracle)

1、 Select rownum(oracle) top(mysql):

用于规定返回指定数目的值

Where roenum < number

2、 Like

用于在where子句搜索指定模式

Where 列名 [NOT] like ‘%string’ [ESCAPE]’\%(_)’

Where 列名 [NOT] like ‘_string’ [ESCAPE]’\%(_)’

%表示:任意长度

select *

from STUDENT

where SNAME like '张%'

_表示任意单个字符

select *

from STUDENT

where SNAME like '张_'

3、 通配符:与like一起使用,如上

4、 In

用于where子句中规定某一字段满足多个值的条件(可用于嵌套使用sql语句)

select *

from STUDENT

where id in (1,9,10)

嵌套使用

select *

from STUDENT

where id in (

select ID

from STUDENT

where SNAME like '张%' or SNAME like '刘%'

)

5、 Between

用于where子句中操作符位于两个数据范围之间

select *

from STUDENT

where id between 0 and 10

6、 别名:

在查询中涉及超过一个表

在查询中使用了函数

列名称很长或者可读性差

需要把两个列或者多个列结合在一起

(1)   表的别名

select SNAME,CNAME,CSID

from COURSE as C,STUDENT as S

where S.ID = CE.CSID

ORDER BY CSID

(2)   列的别名

select ID  as student_ID

from STUDENT

WHERE SSCORE >= 60

7、 连接:用于把两个或者多个表连接起来,基于多个表之间的相同字段。

8、 Inner join 表中至少有一个匹配,返回行

select STUDENT.ID,STUDENT.SNAME

from STUDENT

inner join STUDENT1

ON STUDENT.ID = STUDENT1.ID

9、 Left join

取出A和B两个表中的相同字段数据,再加上左表(A)中的未满足条件的数据

select STUDENT.ID,STUDENT.SNAME

from STUDENT

left join STUDENT1

ON STUDENT.ID = STUDENT1.ID

ORDER BY ID

10、         right join

取出右表中所有数据再加上满足匹配条件的数据

11、         full join

左右表中有一个满足匹配条件则返回行

Full outer join

12、         union

用于合并两个或多个select的搜索结果

select DISTINCT STUDENT1.ID,STUDENT1.SNAME

from STUDENT1

left join STUDENT

ON STUDENT1.ID = STUDENT.ID

union

select DISTINCT STUDENT1.ID,STUDENT1.SNAME

from STUDENT1

right join STUDENT

ON STUDENT1.ID = STUDENT.ID

ORDER BY ID

13、         select into

14、select insert into select

15、create database

16、create table

CREATE TABLE Persons
(
PersonID int,
LastName varchar(255),
FirstName varchar(255),
Address varchar(255),
City varchar(255)
);

17、约束

18、not null

       列不能为空值

19、primary key

       Not null 和unique的结合,确保某列唯一标标识

20、unique

       约束唯一标识数据库表中的每条记录。

21、check

       保列中的值符合某一条件

create TABLE student3

(id int CHECK (id > 0)

)

22、Default

       规定给没有值得列,赋默认值

       ALTER table STUDENT3

add score INT

default 0

23、create index

24、drop

DROP index index_name撤销索引

drop table student3删除表

truncate table STUDENT2删除表内容

25、Alert

ALTER TABLE table_name

ADD column_name datatype

如需删除表中的列,请使用下面的语法(请注意,某些数据库系统不允许这种在数据库表中删除列的方式):

ALTER TABLE table_name

DROP COLUMN column_name

要改变表中列的数据类型,请使用下面的语法:

SQL Server / MS Access:

ALTER TABLE table_name

ALTER COLUMN column_name datatype

My SQL / Oracle:

ALTER TABLE table_name

MODIFY COLUMN column_name datatype

Oracle 10G 之后版本:

ALTER TABLE table_name

MODIFY column_name datatype;

26、auto increment

自动创建主字段的下一个值

27、视图

28、日期

29、null值

30、null函数

31、通用数据类型

32、db数据类型

函数

Avg()

Count()满足匹配你条件的行数

select count(SSCORE)

from STUDENT

where SSCORE > = 60

Firsr()第一行记录

SELECT SSCORE,ID

FROM STUDENT

WHERE ROWNUM <= 1

Last()返回最后一行记录

Max()返回最大值

Min()返回最小值

Sum()返回和

Group by 按某一字段排列asc正序desc倒叙

Having条件,原因where无法和聚合函数一起使用

参考:https://www.runoob.com/sql/sql-tutorial.html

猜你喜欢

转载自www.cnblogs.com/zlinnxiang/p/10972666.html