设置查询输出的格式:
修改查询字段的名字:
col col_name heading col_name_new;
修改字段的输出精度:
字符:col col_name format a10
数字:col col_name format $9999.9(使用9作为通配格式)
清除格式:
col col_name clear;
.查询所有字段:
select * from table_name;
2.查询指定字段:按顺序显示出来
select column1, ... from table_name;
给字段设置别名:
select 字段名 as(可省略) 别名, ...from 表名;
去掉表中重复的数据:
select distinct 字段名 as(可省略) 别名, ...from 表名;
运算符和表达式
算数运算符:+、-、*、/
比较运算符:>、>=、<、<=、=、<>(<>是不等于)
逻辑运算符:and、or、not
在select语句中使用运算符
在SELECT 语句中使用算术运算符:
例如:SELECT id,username,salary+200 FROM users;(给公司里面的每一个人的工资都增加了200块钱。)
注:使用此类运算符的时候,是更改了显示的结果,并不是更改了表的数据,若想更改表中的数据,则需使用update语句。
在SELECT 语句中使用比较运算符:
例如:SELECT username FROM user WHERE SALARY>800 AND SALARY <>1800.5;
查询公司员工工资大于800,不等于1800.5 的姓名。
比较运算符级别高于逻辑运算符
逻辑预算符 not> and >or
模糊查询:LIKE
通配符:_(只能代表一个字符)
%(可代替0到多个任意字符)
例:select * from users where username like 'a%';查询用户名以a开头的用户信息
select * from users where username like '_a%';;查询用户名第二个字符是a的用户信息
select * from users where username like '%a%';;查询用户名含有a的用户信息
范围查询:
BETWEEN...AND
例如:查询800到2000之间的员工工资
SELECT * FROM users WHERE salary>=800 AND salary<=2000
或者:SELECT * FROM users WHERE salary (NOT)BETWEEN 800 AND 2000
IN/NOT IN
注:BETWEEN...AND...,查询的是一个闭合区间的结果,包含头也包含尾。
例如:查询用户名是aaa或者是bbb的用户信息
SELECT * FROM users WHERE username (NOT) IN('aaa',''bbb);
对查询结果进行排序:
SELECT ... FROM ... [WHERE...]
ORDER BY (order by 放在最后)column1 (字段的名字)DESC(降序排列)/ASC(升序排列),column2 DESC, column3 ASC,...
例如按照ID 从大到小排序:
SELECT * FROM users ORDER BY ID DESC;
两种通过用户名查出部门的方法:
CASE column_name WHEN value1 THEN result1,... ELSE result] (当前面的结果都不满足条件的时候,若想给出一个值,就添加上ELSE result)END
SQL> select username,case username when 'aaa' then '计算机部门'
2 when 'bbb' then '市场部门' else '其他部门' end as 部门
3 from users;
USERNAME 部门
-------------------- ----------
aaa 计算机部门
bbb 市场部门
ccccc 其他部门
aaa 计算机部门
CASE WHEN column_name=value1 THEN result1,...[ELSE result] END
SQL> select username, case when username='aaa' then '计算机部门'
2 when username='bbb' then '市场部门' else '其他部门' end as 部门
3 from users;
USERNAME 部门
-------------------- ----------
aaa 计算机部门
bbb 市场部门
ccccc 其他部门
aaa 计算机部门
decode函数的应用:
SQL> select username,decode(username,'aaa','计算机部门','bbb','市场部门','其他'
)as 部门
2 from users;
USERNAME 部门
-------------------- ----------
aaa 计算机部门
bbb 市场部门
ccccc 其他
aaa 计算机部门