6--Select语句

语法格式
 Select *|{<字段名>,……}
 from <表名>;
使用算术表达式
 select empno,ename,sal*12 from emp;
算数运算符
 +  -  *   /
运算符优先级
 乘法和除法的优先级高于加法和减法
 同优先级运算符的顺序是从左到右
 表达式中可使用小括号强行改变运算顺序
!!!链接运算符--||
 select ename||'is a'||job from emp;
 select empno,ename||'is a'||sal from emp;
 示例:(1)select '姓名是'||ename,'工作为'||job from emp;
 (2)select empno || '  号的  '||ename ||'  is a  ' ||job||'  his annual sal is   '|| (sal*12) from emp;
!!!!注:字符串连接时最好加空格,增加易读性


使用字段别名
 字段别名 
     重命名查询结果中的字段,一增强可读性
     如果别名中使用特殊字符,或者是强制大小写敏感需双引号

语法格式
 select<字段名>|<表达式>[[AS]<字段别名>],……from <表名>
示例:select empno as 员工编号 ,ename 员工姓名,sal*12  "年薪" from emp;
 select empno || '  号的  '||ename ||'  is a  ' ||job||'  his annual sal is   '|| (sal*12)   员工信息 from emp;把empno,ename,job,sal*12这些信息一员工信息表的形式存放

空值
 空值是无效的,未指定的,未知的或不可预知的值
 空值不等同于空格或者0
算术表达式中出现空值,则整个表达式结果为空
链接表达式中出现的空值被当作一个空的字符串处理

去掉重复行--在缺省情况下,查询结果中包含所有符合条件的记录行,包括重复行 ---如只查询 性别
 distinct
 select distinct deptno from emp;
查询结果排序
 查询结果缺省按记录顺序排列
 可以使用order by   ASC--升序   DESC--降序
 select empno,ename,sal from emp order by sal;
 select deptno,ename,sal from emp order by deptno desc,sal;
条件查询
 语法格式
 select*|{[distinct]<字段名>|<表达式>[<别名>],...} from <表名>[where <查询条件>]
 select * from emp where deptno=10;
!!!!获取当前缺省日期格式
 select sysdate from dual;
比较运算符
 =    >     >=       <      <=      <><--->!=
 between...and...界于两值之间包(含边界)
 in(set)出现在集合里
 like模糊查询
 in null 为空值
!!!模糊查询
 % 表示零或多个字符
 _表示一个字符
 对于特殊符号可使用ESCAPE标识符来查找
 /--转义符(实际开发中并不常用)
 select * from student where name like '%/%%' escape '/';--查询所以姓名中包含%的人
 select * from student where name like '%/_%' escape '/';--查询所以姓名中包含_的人
!!!!!!!!!!!!!!!!!!!!!
 插入一个带有'的常量时
  如:insert into student values('Tom''cd',24);--Oracle中规定两个''代表一个'
      select * from student where name like '%''%';
空值判断
 select * from emp where comm is (not) null;--0不等于空值
逻辑运算符
 NOT--逻辑"非"
 AND--逻辑"与"
 OR---逻辑"或"
!!!!!!
运算符优先级(可使用()来改变运算顺序)
 * /
 + -
 ||
 =  >  >=  <   <=    <>
 is[not]null   like  not[in]
 [not]between...and...
 not
 and
 or

 
 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值