oracle--3.基本查询

来源:互联网 发布:火箭队球迷 知乎 编辑:程序博客网 时间:2024/06/07 05:32

首先连接

1      查看

1.1  当前用户

Show user

 

1.2  当前用户下的表

select * from tab;

 

1.3  表结构

desc emp

 

1.4  清屏

 

Linux: host clear

 

1.5  设置行宽,列宽

SQL> --设置行宽

SQL> show linesize

linesize 80

SQL> set linesize 120

SQL> --设置列宽

SQL> col ename for a8

SQL> col sal for 9999

SQL> /

 

 

 

1.6  命令行修改SQL语句

法一:

  

法二:

 

1.7  Sqlplus命令

区别sql命令

 

Sqlplus:

desc          ,        ed     ,        c       ,        for    ,        col

 

1.8  isql*plus

 

 

2      基本查询

2.1  基本select查询

2.1.1  所有

 

select * from emp;

 

2.1.2  列

 

2.1.3  别名

 

 

2.1.4  消除重复

 

 

2.1.5  使用算术运算符

 

算术运算符:操作符优先级

+ - * / ()

 

2.2  定义空值

空值是无效的,不是空格或者0

1、包含null的表达式都为null                       nvl(comm,0)类似mysql的ifnull

2、null永远!=null

select *

  from emp

  where comm=null;

 

3、如果集合中含有null,不能使用not in;但可以使用in

 

4. null的排序           null值最大

 

2.3  连接符||

Mysql,oracle实现:

dual表:伪表 伪列

 

Oracle:

 

2.4  字符串

 

3      条件查询(过滤)

3.1  概述

 

3.2  字符和日期

字符串大小写敏感

 

日期格式敏感

 

修改:

alter session setNLS_DATE_FORMAT='yyyy-mm-dd';

 

3.3  运算符

3.3.1  比较运算

 

between and: 1.含有边界  2.小值在前 大值在后

 

 

3.3.2  逻辑运算

 

4      排序(默认升序)

4.1  单列

order by 后面  + 列、表达式、别名、序号

 

 

 

4.2  多列

order by 作用于后面所有的列,先按照第一个列排序,再后面的列

desc只作用于离他最近的列

 

 

5      Sql优化

5.1  尽量使用列名代替*

场景一:

 

5.2  where解析顺序

2、where解析顺序: 右 ---> 左