Oracle基础知识1 : 单表查询1
来源:互联网 发布:淘宝代销怎么关联发货 编辑:程序博客网 时间:2024/06/06 02:26
--基础部分 :
SELECT * FROM emp;
--显示雇员表emp中所有的数据
SELECT * FROM dept;
--显示部门表dept中所有的数据
SELECT deptno,loc FROM dept;
--显示部分列
SELECT empno,ename,sal,hiredate,job
FROM emp;
--显示部分列
SELECT ename,sal,sal+300
FROM emp;
--显示雇员姓名,工资以及加300元以后的工资
SELECT ename,sal,12*sal+100,12*(sal+100)
FROM emp;
--算数表达式的运用(先乘除,后加减,有括号先算括号里的)
SELECT ename AS Name , sal*12 "Annual Salary"
FROM emp;
--为列设置别名 : 如果用 AS ,列名会全部大写 ;
--如果用 "" 则会按照引号里面的内容原样输出 。(注意只能用双引号不能用单引号)
--列的别名可以用于 SELECT 与 ORDER BY ,不能用于 WHERE 。
SELECT ename||job AS "Employees"
FROM emp;
--使用连接符 || 将 ename 与 job 作为一个字符串连接并输入(并且列名为 Employees)
SELECT ename||' is a '||job AS "Employees Detail"
FROM emp;
--||同样可以连接自定义字符串(字符串必须由单引号引起来)
SELECT DISTINCT deptno
FROM emp;
FROM emp
WHERE ename = 'KING';
--空值可以作为被除数~
DESCRIBE dept;
DESC dept;
--上面两句话都是显示表结构(好像DESC==DESCRIBE)
--比较运算符 :
SELECT ename,sal,comm
FROM emp
WHERE sal <= comm;
--显示工资小于等于奖金的人
SELECT ename,sal
FROM emp
WHERE sal BETWEEN 1000 AND 2000;
--显示工资在1000到2000的人
SELECT ename,hiredate
FROM emp
WHERE ename BETWEEN 'J' AND 'N';
--字符串同样可行
SELECT ename,mgr
FROM emp
WHERE mgr IN (7902,7566,7788);
--显示mgr为(7902,7566,7788)这个范围里面的记录。
SELECT empno,ename
FROM emp
WHERE ename IN ('FORD','ALLEN');
SELECT *
FROM emp
WHERE ename LIKE 'S___';
--查询名字由S开头的雇员(用LIKE关键字)
--通配符 : % 代表任意多个字符 , _ 代表一个字符
SELECT *
FROM emp
WHERE hiredate BETWEEN TO_DATE('1981-01-01','YYYY-MM-DD') AND TO_DATE('1981-12-31','YYYY-MM-DD');
SELECT *
FROM emp
WHERE hiredate LIKE '%81';
--上面两句都可以显示1981年受雇的雇员( 日期是不是只能用TO_DATE()来写??)
SELECT ename
FROM emp
WHERE ename LIKE '_A%';
--显示姓名第二个字母是A的雇员姓名
SELECT ename
FROM emp
WHERE ename LIKE 'A\_B' ESCAPE '\';
--查找姓名是 A_B 的人 (此时 _ 就是 _ 本身而不代表单个字符)
SELECT *
FROM emp
WHERE mgr IS NULL;
--显示 mgr 值为空的雇员
SELECT *
FROM emp
WHERE sal >= 2000 AND comm IS NULL;
--查询工资大于2000并且comm为空的雇员
SELECT ename,job
FROM emp
WHERE job NOT IN ('CLERK','MANAGER','ANALYST');
--查询工作不为***的雇员(NOT还可以和其他运算符一起用 , 比如 BETWEEN , LIKE , NULL)
--运算符优先级(由先到后) : 比较运算符 , NOT , AND , OR
SELECT ename,job,sal
FROM emp
WHERE job = 'SALESMAN'
OR job = 'PRESIDENT'
AND sal > 1500;
--验证优先级
SELECT *
FROM emp
ORDER BY hiredate DESC;
--按照入职时间排序( DESC 是降序 , 默认升序 — ASC)
SELECT *
FROM emp
ORDER BY deptno,sal;
--先按照 deptno 排序 , 再按照 sal 排序
SELECT * FROM emp;
--显示雇员表emp中所有的数据
SELECT * FROM dept;
--显示部门表dept中所有的数据
SELECT deptno,loc FROM dept;
--显示部分列
SELECT empno,ename,sal,hiredate,job
FROM emp;
--显示部分列
SELECT ename,sal,sal+300
FROM emp;
--显示雇员姓名,工资以及加300元以后的工资
SELECT ename,sal,12*sal+100,12*(sal+100)
FROM emp;
--算数表达式的运用(先乘除,后加减,有括号先算括号里的)
SELECT ename AS Name , sal*12 "Annual Salary"
FROM emp;
--为列设置别名 : 如果用 AS ,列名会全部大写 ;
--如果用 "" 则会按照引号里面的内容原样输出 。(注意只能用双引号不能用单引号)
--列的别名可以用于 SELECT 与 ORDER BY ,不能用于 WHERE 。
SELECT ename||job AS "Employees"
FROM emp;
--使用连接符 || 将 ename 与 job 作为一个字符串连接并输入(并且列名为 Employees)
SELECT ename||' is a '||job AS "Employees Detail"
FROM emp;
--||同样可以连接自定义字符串(字符串必须由单引号引起来)
SELECT DISTINCT deptno
FROM emp;
--使用DISTINCT消除重复记录
SELECT DISTINCT deptno,job
FROM emp;
--先写的字段会作为主条件 , 但是查询结果不会被影响
FROM emp
WHERE ename = 'KING';
--空值可以作为被除数~
DESCRIBE dept;
DESC dept;
--上面两句话都是显示表结构(好像DESC==DESCRIBE)
--比较运算符 :
SELECT ename,sal,comm
FROM emp
WHERE sal <= comm;
--显示工资小于等于奖金的人
SELECT ename,sal
FROM emp
WHERE sal BETWEEN 1000 AND 2000;
--显示工资在1000到2000的人
SELECT ename,hiredate
FROM emp
WHERE ename BETWEEN 'J' AND 'N';
--字符串同样可行
SELECT ename,mgr
FROM emp
WHERE mgr IN (7902,7566,7788);
--显示mgr为(7902,7566,7788)这个范围里面的记录。
SELECT empno,ename
FROM emp
WHERE ename IN ('FORD','ALLEN');
SELECT *
FROM emp
WHERE ename LIKE 'S___';
--查询名字由S开头的雇员(用LIKE关键字)
--通配符 : % 代表任意多个字符 , _ 代表一个字符
SELECT *
FROM emp
WHERE hiredate BETWEEN TO_DATE('1981-01-01','YYYY-MM-DD') AND TO_DATE('1981-12-31','YYYY-MM-DD');
SELECT *
FROM emp
WHERE hiredate LIKE '%81';
--上面两句都可以显示1981年受雇的雇员( 日期是不是只能用TO_DATE()来写??)
SELECT ename
FROM emp
WHERE ename LIKE '_A%';
--显示姓名第二个字母是A的雇员姓名
SELECT ename
FROM emp
WHERE ename LIKE 'A\_B' ESCAPE '\';
--查找姓名是 A_B 的人 (此时 _ 就是 _ 本身而不代表单个字符)
SELECT *
FROM emp
WHERE mgr IS NULL;
--显示 mgr 值为空的雇员
SELECT *
FROM emp
WHERE sal >= 2000 AND comm IS NULL;
--查询工资大于2000并且comm为空的雇员
SELECT ename,job
FROM emp
WHERE job NOT IN ('CLERK','MANAGER','ANALYST');
--查询工作不为***的雇员(NOT还可以和其他运算符一起用 , 比如 BETWEEN , LIKE , NULL)
--运算符优先级(由先到后) : 比较运算符 , NOT , AND , OR
SELECT ename,job,sal
FROM emp
WHERE job = 'SALESMAN'
OR job = 'PRESIDENT'
AND sal > 1500;
--验证优先级
SELECT *
FROM emp
ORDER BY hiredate DESC;
--按照入职时间排序( DESC 是降序 , 默认升序 — ASC)
SELECT *
FROM emp
ORDER BY deptno,sal;
--先按照 deptno 排序 , 再按照 sal 排序
emp表↑
dept表↑
阅读全文
0 0
- Oracle基础知识1 : 单表查询1
- Oracle基础知识1 : 单表查询1
- Oracle基础知识3 : 单表查询练习
- Oracle基础知识4 : 单表查询3
- Oracle基础知识3 : 单表查询练习
- Oracle基础知识5 : 多表查询1
- Oracle基础知识2 : 单表查询2(内置函数)
- Oracle基础知识2 : 单表查询2(内置函数)
- oracle 单表查询
- oracle单表查询
- oracle-单表查询脚本
- oracle单表函数查询
- Oracle查询优化--单表查询
- Oracle查询优化-01单表查询
- 【Oracle】Oracle基础知识1
- oracle 基础知识查询
- oracle 实验三 单表查询
- oracle单表查询简单语句
- 两年Java开发工作经验面试总结
- 分页技术,小白也能看懂(从后台传json到前台解析显示)
- 泛型dao+mysql数据库+增删改查
- 入门训练 Fibonacci数列
- PHP基本语法
- Oracle基础知识1 : 单表查询1
- Python-快速实现微信公众号自动回复(聊天机器人)
- C#通过SSH获取Linux下面文件夹中的所有文件
- 6174问题
- SpringBoot自我整理学习2(springboot集成Druid)
- 1065. 单身狗(25)
- Git的使用--如何将本地项目上传到Github
- 来到CSDN博客
- 1144 面向对象程序设计上机练习五(类和对象)