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

Oracle数据库开发必备利器之SQL基础——查询

程序员文章站 2022-04-21 15:02:22
...

基本查询语句

select [distinct] column_name ,...|* from table_name where conditons;

基本查询语句:select [Distinct] 列名 .. From 表名 [where condition]

FROM (可以多表查询)
WHERE 子句可带多个条件
DISTINCT 显示不重复数据

在sql*plus中设置格式

1、作用:配合select语句使用,设置查询结果显示的格式,不会修改数据库表字段。
2、设置字段显示样式

语法:

COLUMN column_name HEADING new_name;

注:COLUMN 可以简写成COL

Oracle数据库开发必备利器之SQL基础——查询

  • 设置字段的格式化样式

    语法:

    COLUMN column_name FORMAT dataformat;

    Oracle数据库开发必备利器之SQL基础——查询

    Oracle数据库开发必备利器之SQL基础——查询

    Oracle数据库开发必备利器之SQL基础——查询

    Oracle数据库开发必备利器之SQL基础——查询
    注:如果是字符类型的值,只能设置它显示的长度。其中a后面跟数字表示字符串显示长度,例:a10 表示显示10位的长度的字符串;数字则用‘9’代表一位,例:999.9 表示整数位为三位,小数位为一位。如果设置的长度超出数据最大长度,则用'#'显示。还可以在数字前面加'$',例:$999.9 则查询后显示的结果会在结果前加上'$'符。

  • 清除设置格式

    语法:

    COLUMN column_name CLEAR;

查询表中所有字段及指定字段

查询所有:

select * from table_name;

查询指定字段:

select column1, ...  from table_name;

给字段设置别名

语法:

SELECT column_name AS new_name,... FROM table_name;

其中:as是可以省略的,用空格来隔开原字段名和新字段名即可。

Oracle数据库开发必备利器之SQL基础——查询

运算符和表达式

1、表达式 = 操作数 + 运算符
2、oracle中的操作数可以是常量、变量和字段
3、oracle中的运算符:算数运算符(+ - * /)、比较运算符(> < = >= <= <>)、逻辑运算符(and or not)

在select语句中使用运算符

例子:

Oracle数据库开发必备利器之SQL基础——查询

Oracle数据库开发必备利器之SQL基础——查询

Oracle数据库开发必备利器之SQL基础——查询

带条件的查询

例子:
Oracle数据库开发必备利器之SQL基础——查询

Oracle数据库开发必备利器之SQL基础——查询

Oracle数据库开发必备利器之SQL基础——查询

Oracle数据库开发必备利器之SQL基础——查询
逻辑运算符的优先级:按not、and、or的顺序依次递减;
比较运算符的优先级高于逻辑运算符。

模糊查询

1、通配符的使用:
一个_只能代表一个字符,一个%可以代表0到多个任意字符
2、查询以a开头的用户名:

select * from users where username like 'a%';

3、查询第二个字符为a 的用户名:

select * from users where username like '_a%';

范围查询

BETWEEN...AND/NOT BETWEEN...AND:

查询结果为闭合区间

Oracle数据库开发必备利器之SQL基础——查询

Oracle数据库开发必备利器之SQL基础——查询

IN/NOT IN

结果为一个具体的值

Oracle数据库开发必备利器之SQL基础——查询

查询结果排序

语法:

SELECT [DISTINCT] column_name1,...|* FROM table_name [WHERE conditions] 
ORDER BY column_name1 DESC|ASC,...

其中,DESC是降序排序,ASC是升序排序,默认情况下是升序排序

case…when语句的使用

语法1:

CASE column_name WHEN value1 THEN result1 ... [ELSE resultn] END;

Oracle数据库开发必备利器之SQL基础——查询
语法2:

CASE WHEN column_name=value1 THEN result1 ...[ELSE resultn] END;

Oracle数据库开发必备利器之SQL基础——查询

Oracle数据库开发必备利器之SQL基础——查询

注:value1、result1需要加单引号,表示字符串,当多个when…then…使用时,中间用空格隔开即可,不能用逗号隔开。

decode函数的使用

decode与case…when类似
decode(列名,判断条件,条件为真的值,默认值)
decode(col_name,value1,result1,…,defaulvalue)

Oracle数据库开发必备利器之SQL基础——查询