oracle:基本的SQL语句

一、基本语句
show user --查看登录登录的用户账户
conn hr/hr 切换用户
start up 开启数据库
查看hr实例的状态:
SELECT username,account_status
FROM dba_users
WHERE username=‘HR’;
修改hr用户的密码:
ALTER USER hr ACCOUNT UNLOCK IDENTIFIED BY hr;

set wrap off 让字段都显示在一行不打断
col 列值 format a20(不能显示将a20改为9999几位 就几个9)
desc dba_users 查看dba_users表的构成
SELECT * FROM tab 查看某方案下的普通对象
SELECT * FROM employees; 查看 employees表的情况
SELECT department_id,department_name,manager_id,location_id FROM departments; 查看departments下指定的列

二、算术表达式;
+、-、x、/、<、>、=

SELECT employee_id,first_name,hire_date FROM employees WHERE rownum<5;行输出小于5
在这里插入图片描述
SELECT first_name,salary,salary+1000 FROM employees
WHERE rownum<5; 输出薪酬+1000
在这里插入图片描述
SELECT first_name,salary,12salary+100 FROM employees
WHERE rownum<5;
SELECT first_name,salary,12
(salary+100)FROM employees
WHERE rownum<5;遵循运算法则
在这里插入图片描述
SELECT first_name,salary,job_id,commission_pct,salary+salarycommission_pct
FROM employees 因为commission_pct为null值所以会造成结果为空值
在这里插入图片描述
null值 不等价空格 不等价0
三、列别名
SELECT first_name,salary,job_id,commission_pct,salary+salary
commission_pct sal
FROM employees
WHERE rownum<10;在需要变成别名列位置后面添加别名
在这里插入图片描述
SELECT first_name,salary,job_id,commission_pct,salary+salary*commission_pct AS sal
FROM employees
WHERE rownum<10;

SELECT first_name FNAME,last_name LNAME FROM employees
WHERE rownum<10;
在这里插入图片描述
SELECT first_name Fname,last_name LNAME FROM employees
WHERE rownum<10;
SELECT first_name “Fname”,last_name “Lname” FROM employees
WHERE rownum<10;
在这里插入图片描述
在这里插入图片描述
别名有空白符 需要强引用
在这里插入图片描述
四、连接运算
SELECT first_name,last_name FROM employees;
SELECT first_name||last_name “Name” FROM employees;
在这里插入图片描述
在这里插入图片描述
SELECT first_name||’ ‘||last_name “Name” FROM employees;
在这里插入图片描述
SELECT first_name||’ job is ‘||job_id FROM employees;
在这里插入图片描述
SELECT first_name||’ job’s is ‘||job_id FROM employees; --error
SELECT first_name||’ job’‘s is ‘||job_id FROM employees;
在这里插入图片描述有符号需要再加单引号强应用或者用q加花括号和大括号
SELECT first_name||q’{ job’s is }’||job_id FROM employees;
SELECT first_name||q’[ job’s is ]’||job_id FROM employees;
五、DISTINCT查看单种类型,重复省略
SELECT job_id FROM employees WHERE rownum<10;
SELECT DISTINCT job_id FROM employees WHERE rownum<10;
在这里插入图片描述
在这里插入图片描述
这两种写法都是错误的,应该在筛选文段前
SELECT DISTINCT department_id, DISTINCT job_id FROM employees; --ERROR
SELECT department_id, DISTINCT job_id FROM employees; --ERROR
UNIQUE和DISTINCT 同意
在这里插入图片描述
六、数据类型
number数字类型 存储数字类型 可以整数 小数 负数
varchar2(s)字符类型 存储变长的字符类型 VARCHAR2(5) ‘A’ ‘ABCDE’ ‘ABCDEF’
date 日期时间类型 精确到秒
NUMBER(4) 表示范围[-9999,9999]
NUMBER(4,2) 表示范围[-99.99,99.99]
4表示位数,2表示浮点数
SELECT sysdate FROM dual;显示当前数据库服务器的日期时间
在这里插入图片描述

SQL> ALTER SESSION SET nls_date_format=‘yyyy-mm-dd hh24:mi:ss’;
SQL> SELECT sysdate FROM dual;
修改日期格式
在这里插入图片描述
七、WHERE
SELECT employee_id,salary,salary+300 sal
FROM employees
WHERE sal>10000; --error
SELECT employee_id,salary,salary+300 sal
FROM employees
WHERE salary+300>10000; --right
不能用别名进行筛选
在这里插入图片描述
字符和日期类型的筛选
SELECT * FROM employees WHERE last_name=‘King’;
SELECT * FROM employees WHERE last_name=‘king’;
输出结果是不同的 严格区分大小写
SELECT employee_id,last_name,hire_date
FROM employees WHERE hire_date<‘2008-01-01’ 对日期格式敏感
八、比较运算符
between and、in 、like、null
between A and B在什么之间的筛选
在这里插入图片描述
in(A,B)包括A和B 的值
在这里插入图片描述
like WHERE的指定值
在这里插入图片描述
在这里插入图片描述
null空值
SELECT employee_id,salary,commission_pct
FROM employees WHERE commission_pct=null; --error

SELECT employee_id,salary,commission_pct
FROM employees WHERE commission_pct IS null;
在这里插入图片描述
九、逻辑运算
NOT、AND、OR
NOT 否定
在这里插入图片描述
AND 和 两个条件同时满足
在这里插入图片描述
OR 或者 任意条件满足
在这里插入图片描述
AND 和 OR同时存在时 AND优先
在这里插入图片描述
也可以通过()改变优先级别
在这里插入图片描述
十、排序
ASC  默认升序 DESC  降序
SELECT employee_id,first_name,salary FROM employees
ORDER BY salary;默认为升序
在这里插入图片描述

SELECT employee_id,first_name,salary FROM employees
ORDER BY salary DESC;改为降序

在这里插入图片描述
SELECT employee_id,salary+salary*0.2 sal FROM employees
ORDER BY sal;支持别名
在这里插入图片描述
SELECT employee_id,first_name FROM employees
ORDER BY salary DESC;

SELECT employee_id,salary,commission_pct
FROM employees RDER BY commission_pct ASC;含有null值时升序null最后
在这里插入图片描述
SELECT employee_id,salary,commission_pct
FROM employees ORDER BY commission_pct DESC;含有null值时降序null第一
在这里插入图片描述

SELECT employee_id,salary,commission_pct
FROM employees ORDER BY commission_pct DESC NULLS FIRST;也可以自己定义null前后
在这里插入图片描述

SELECT employee_id,salary,commission_pct
FROM employees ORDER BY 1 ASC;检索了三个值 表示第一个值的排序
在这里插入图片描述

SELECT employee_id,salary,commission_pct
FROM employees ORDER BY 4;超过了三个值 则会报错
在这里插入图片描述
SELECT employee_id,first_name,salary FROM employees
ORDER BY salary DESC,first_name ASC;也可以混合使用升降序
在这里插入图片描述

猜你喜欢

转载自blog.csdn.net/weixin_43239236/article/details/82962535