欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

SQL语法使用详解

程序员文章站 2022-06-24 11:34:07
SQL 语法 SELECT 、FROM、WHERE、GROUP BY、HAVING、ORDER BY、INSERT、UPDATE、DELETE、CREATE、DROP、ALER...
SQL

语法

SELECT 、FROM、WHERE、GROUP BY、HAVING、ORDER BY、INSERT、UPDATE、DELETE、CREATE、DROP、ALERT、GRANT、REVOKE

SQL分为三种类型

DML(数据操作语言):主要指数据库的查询与更新操作; DDL(数据定义语言):主要指的是数据对象的创建(表,用户); DCL(数据库控制语言):主要是进行权限的管理操作;

SCOTT用户,一共有四张表

命令一:查询一个用户下的所有数据表

SELECT* FROM tab;

命令二:查询一个表的结构

DESC 表名称

1、部门信息表(dept)

No

字段名

类型

描述

1

DEPTNO

NUMBER2(2)

表示部门编号,最多由2位数字组成

2

DNAME

VARCHAR2(14)

表示部门名称,最多由14个字符组成

3

LOC

VARCHAR2(13)

表示部门位置,最多由13个字符组成

2、雇员表(emp)

No

字段名

类型

描述

1

EMPNO

NUMBER(4)

雇员编号,最多有4位数字组成

2

ENAME

VARCHAR2(10)

雇员姓名

3

JOB

VARCHAR2(9)

雇员职位

4

MGR

NUMBER(4)

雇员的领导的编号

5

HIREDATE

DATE

雇佣日期

6

SAL

NUMBER(7,2)

基本工资,小数点最多占2位,整数最多占5位

7

COMM

NUMBER(7,2)

佣金(提成)一般只有销售才有

8

DEPTNO

NUMBER(2)

所属部门的编号

3、工资等级表(salgrade)

No

字段名

类型

描述

1

GRADE

NUMBER

工资等级编号

2

LOSAL

NUMBER

此等级的最低工资

3

HISAL

NUMBER

此等级的最高工资

4、工资表(bonus)

No

字段名

类型

描述

1

ENAME

VARCHAR2(10)

雇员姓名

2

JOB

VARCHAR2(9)

雇员职位

3

SAL

NUMBER

雇员工资

4

COMM

NUMBER

雇员佣金

bonus表中没有任何数据

SQL简单查询

1、SELECT[DISTINCT] 字段名1,字段名2 … * FROM 表名;

SELECT * FROM emp; SELECT ename,job FROM emp;

2、消除重复DISTINCT

SELECT DISTINCT job FROM emp;

3、连接输出列:||

SELECT empno || ename 别名 FROM emp;

SQL限定查询

SELECT*|字段名[别名]… FROM 表名;

1、关系运算符

>、<、>=、<=、<>(!=);

2、逻辑运算符

AND、OR、NOT;

SELECT * FROMemp WHERE NOT sal >2000;

3、范围运算符

BETWEEN…AND;

BETWEEN 最小值(数字,日期) AND 最大值; 闭区间

4、谓词范围

IN、NOT IN;

SELECT * FROM empWHERE empno IN (7369 , 7566 , 9999 ) ;

NOT IN (不能有 null ) 否则不会有任何结果返回 ;

5、空判断

IS NULL、IS NOT NULL;

空不代表 0 ;

 

6、模糊查询

LIKE;

通配符:

'_':匹配任意一位字符; '%':匹配任意的零位、一位或多位字符;

注意:

LIKE可以应用在各种数据类型上,不一定非要是字符串;

SELECT* FROM emp WHERE empno LIKE '%9%' ;

在使用LIKE模糊查询的时候,如果不设置查询关键字,表示查询全部; SELECT * FROM emp WHERE empno LIKE '%%' ;

SQL查询排序(ORDER BY)

(3)SELECT

(1)FROM

(2)WHERE

(4)ORDER BY 字段 [ASC | DESC] , 字段 [ASC |DESC] , … ;

默认ASC排序,升序;DESC降序;