Oracle数据库的应用,DQL简单查询-1

127 阅读2分钟

「这是我参与2022首次更文挑战的第8天,活动详情查看:2022首次更文挑战」。

1. DQL

1.1 简单查询

格式:

select 子句 from 子句 [where 子句 [order by cloumns [asc/desc]]]

  • select子句选择要查询的信息(特定列,列所有 * 。使用逗号隔开,可以调整列的先后显示顺序)
1,查询所有学生信息:

SELECT * FROM t_student

例2,查询所有学生的id,name,age信息:

SELECT id,name,age FROM t_student
  • from子句选择要查询的表,视图,结果集,dual
1from作用在表上:

SELECT * FROM t_student

例2from作用在视图上(视图后面讲):

SELECT * FROM v_student

例3from作用在结果集上:

SELECT * FROM (

SELECT * FROM t_student

)

例4from作用在dual上:

SELECT sysdate FROM DUAL

SELECT 1+1 FROM DUAL

解释:DUAL用在没有查询目标的SELECT语句块中
  • where子句限定限制返回的行,where子句中的多个条件使用 and\or连接。
1,查询id为1的学生信息:

SELECT * FROM t_student WHERE id=12,查询id为1并且name为张三的学生信息:

SELECT * FROM t_student WHERE id=1 and name=’张三’

例3,查询name为张三或年龄大于18岁的学生信息:

SELECT * FROM t_student WHERE id=1 or age>18

★ 字符类型要用’’括起来,date类型要用to_date函数,时间戳类型要用to_datestamp。字符值区分大小写。

★ 当需要使用’时,需要使用’来转义,例如一个单引号’’,两个单引号 ‘’’’

1.2 查询中使用运算符

sql当中可以使用算术表达式,表达式一般出现在select子句和where子句中。算术表达式可以包含列名、常数值和算术运算符。

1. 算术运算符 + - * / 。

算术运算符的优先顺序:

  • 乘和除的运算优先级高于加和减
  • 优先级相同的运算符是从左到右进行运算的
  • 可以使用小括号来强制语句做出优先运算,并使语句运算顺序更为清晰
  • 日期计算 也可以使用+ -,单位为天(如:select sysdate + 1 from  dual)

2. 连接符 || 或 concat(arg1,arg2)

3. 比较运算符 < ,>  ,<= ,>= ,=,!=,<>,is,is not ,in ,not in,any,all,between,like

  • LIKE:匹配字符串
  • IN:匹配列表值
  • BETWEEN:匹配范围值
  • IS NULL:匹配空值
  • IS NAN:匹配非数字值
  • NOT 取反
  • ANY 任意一个  (select 1 from dual  where 1 > any(1,2,3,4) )
  • ALL 所有的  (select 1 from dual  where 1 > all(1,2,3,4) )

4. 通配符

下划线(_):表示匹配1个字符

百分号(%):表示匹配任意个字符