SQL> create table users (id varchar2(10) primary key, username varchar2(20), salary number(7,2));
表已创建。
SQL> desc users
名称 是否为空? 类型
----------------------------------------- -------- ----------------------------
ID NOT NULL VARCHAR2(10)
USERNAME VARCHAR2(20)
SALARY NUMBER(7,2)
SQL> col username heading 用户名;
SQL> insert into users values(1,'aaa',50);
已创建 1 行。
SQL> select * from users;
ID 用户名 SALARY
---------- -------------------- ----------
1 aaa 50
SQL> col username format a10;
SQL> select * from users;
ID 用户名 SALARY
---------- ---------- ----------
1 aaa 50
# 给数值型设置字段的格式
SQL> col salary format 9999.9;
SQL> select * from users;
ID 用户名 SALARY
---------- ---------- -------
1 aaa 50.0
// 超过数值长度用 # 代替
SQL> col salary format 9;
SQL> select * from users;
ID 用户名 SALARY
---------- ---------- ------
1 aaa ##
SQL> col salary format $9999.9;
SQL> select * from users;
ID 用户名 SALARY
---------- ---------- --------
1 aaa $50.0
SQL> col username clear;
SQL> col salary clear;
SQL> select * from users;
ID USERNAME SALARY
---------- -------------------- ----------
1 aaa 50
注意:
SQL> col id heading 编号;
SQL> col username heading 用户名;
SQL> col salary heading 工资;
SQL> select * from users;
编号 用户名 工资
---------- -------------------- ----------
1 aaa 50
SQL> select username, salary from users;
用户名 工资
-------------------- ----------
aaa 50
SQL> select id as 编号, username as 用户名, salary 工资 from users;
编号 用户名 工资
---------- -------------------- ----------
1 aaa 50
// 去掉用户名中重复的名
SQL> select distinct username as 用户名 from users;
用户名
--------------------
aaa
注意:
SQL> select * from users;
编号 用户名 工资
---------- -------------------- ----------
1 aaa 50
2 bbb 600
SQL> select id,username,salary+200 from users;
编号 用户名 SALARY+200
---------- -------------------- ----------
1 aaa 250
2 bbb 800
SQL> select * from users;
编号 用户名 工资
---------- -------------------- ----------
1 aaa 50
2 bbb 600
SQL> select username from users where salary>200;
用户名
--------------------
bbb
SQL> select username from users where salary>500 and salary<>800;
用户名
--------------------
bbb
SQL> select username from users where salary>500 or salary<>800;
用户名
--------------------
aaa
bbb
SQL> select salary from users where username='aaa';
工资
----------
50
SQL> select username, salary from users where id = 2;
用户名 工资
-------------------- ----------
bbb 600
SQL> select * from users where username='aaa' or salary>2000;
编号 用户名 工资
---------- -------------------- ----------
1 aaa 50
// 得到的结果相同
SQL> select * from users where username='aaa' or salary > 800 and salary <= 2000;
编号 用户名 工资
---------- -------------------- ----------
1 aaa 50
SQL> select * from users where username='aaa' or (salary > 800 and salary <= 2000);
编号 用户名 工资
---------- -------------------- ----------
1 aaa 50
SQL> select * from users where not(username='aaa');
编号 用户名 工资
---------- -------------------- ----------
2 bbb 600
SQL> select * from users where username like 'a%';
编号 用户名 工资
---------- -------------------- ----------
1 aaa 50
SQL> select username from users where username like '_a%';
用户名
--------------------
aaa
SQL> select username from users where username like '%a%';
用户名
--------------------
aaa
QL> select * from users where salary between 50 and 2000;
编号 用户名 工资
---------- -------------------- ----------
1 aaa 50
2 bbb 600
SQL> select * from users where salary not between 50 and 200;
编号 用户名 工资
---------- -------------------- ----------
2 bbb 600
SQL> select * from users where username in('aaa','bbb');
编号 用户名 工资
---------- -------------------- ----------
1 aaa 50
2 bbb 600
SQL> select * from users where username not in('aaa');
编号 用户名 工资
---------- -------------------- ----------
2 bbb 600
// 降序
SQL> select * from users order by id desc;
编号 用户名 工资
---------- -------------------- ----------
2 bbb 600
1 aaa 50
// 升序
SQL> select * from users order by id asc;
编号 用户名 工资
---------- -------------------- ----------
1 aaa 50
2 bbb 600
SQL> select * from users order by id desc,salary asc;
编号 用户名 工资
---------- -------------------- ----------
2 bbb 600
1 aaa 50
SQL> insert into users values(3,'aaa',200);
已创建 1 行。
SQL> select * from users order by id desc,salary asc;
编号 用户名 工资
---------- -------------------- ----------
3 aaa 200
2 bbb 600
1 aaa 50
SQL> select username,case username when 'aaa' then '计算机部门' when 'bbb' then '市场部门' else '其它部门' end as 部门 from users;
用户名 部门
-------------------- ----------
aaa 计算机部门
bbb 市场部门
aaa 计算机部门
SQL> select username,case when username='aaa' then '计算机部门' when username='bbb' then '
2 市场部门' else '其它部门' end as 部门 from users;
用户名 部门
-------------------- ----------
aaa 计算机部门
bbb
市场部门
aaa 计算机部门
SQL> select username,case when salary<800 then '工资低' when salary>5000 then '工资高' end as 工资水平 from users;
用户名 工资水
-------------------- ------
aaa 工资低
bbb 工资低
aaa 工资低
SQL> select username,decode(username,'aaa','计算机部门','bbb','市场部门')as 部门 from users;
用户名 部门
-------------------- ----------
aaa 计算机部门
bbb 市场部门
aaa 计算机部门