Oracle Database 的学习笔记
SQL:结构化查询语言
C R U D: 增删改查
table : name age score
desc+表名 ---> 查询表结构
或者用 describe 命令 (desc是describe的简写)
查询语言:SELECT [DISTINCT] {*,column[alias],...} from table;
SELECT identifies what columns from identifies which table
******* SELECT 查什么 from 从哪里查 *******
SELECT dept_id,last_name,manager_id from s_emp;
遇到空值时可以这样操作:
SELECT last_name,title,salary*NVL(commission_pct,0)/100 COMM from s_emp;
排除查询时出现重名现象 ,用关键字 DISTINCT
eg: SELECT DISTINCT name from s_dept;
排除两个字段连合起来还有重复的现象:
eg: SELECT DISTINCT dept_id,title from s_emp;
对查询的结果进行排序用 ORDER BY;
eg: SELECT last_name "姓名",salary "工资" from s_emp ORDER BY salary;
(默认是升序排序)
eg: SELECT last_name "姓名",salary "工资" from s_emp ORDER BY salary asc;
(asc指定为升序排序)
eg: SELECT last_name "姓名",salary "工资" from s_emp ORDER BY salary desc;
(desc指定为降序排序)
总结:order by 排序
asc 升序
desc 降序
select last_name EMPLOYEE,start_date from s_emp order by EMPLOYEE desc;
(在排序的时候可以用别名当做字段[排序的根据]进行排序)--->这里是(EMPLOYEE)。
select last_name,salary*12 from s_emp order by 2;
(这里的2是用来指定字段的位置,这里指向 salary*12 ,即按员工的年薪排序)
select last_name,dept_id,salary from s_emp order by dept_id,salary desc;
(先按dept_id的升序进行排序,排完后再按salary的降序进行排序)
注:这里dept_id后没有直接指排序规则,按默认的升序排序。
WHERE关键字:
SELECT 姓名,部门ID from s_emp WHERE dept_id = 42;
(
相关文档:
TO_DATE格式(以时间:2007-11-02 13:45:25为例)
Year:
yy two digits 两位年 ......
1 从现有的表中随机取记录
select * from (select st_base_id from t_base order by dbms_random.random) where rownum<=100; --这个是随机取出100个记录。
2 产生随机字符串
select dbms_random.string('u',100) from dual; --产生大写字母组成的字符串,'u'也可以写成'U'
select dbms_random.string('l',100) from ......
本文介绍了使用Pro*C/C++在Visual
C++环境下开发Oracle数据库接口程序的方法
设计思路其实这样:首先通过VC建立一个工程,自动化建立MAKEFILE,UNIX需要自己写MAKEFILE。
其次配置VC的环境,将PROC的.H,.LIB的路径加入DERECTIRY。写一个PC文件,即PROC文件。放到工程相应的目录下。然后把PC文件加入工程。使用PROCUI.E ......
ORACLE常用SQL优化hint语句
http://oracle.chinaitlab.com/induction/802186.html
在SQL语句优化过程中,我们经常会用到hint,现总结一下在SQL优化过程中常见Oracle HINT的用法:
1. /*+ALL_ROWS*/
表明对语句块选择基于开销的优化方法,并获得最佳吞吐量,使资源消耗最小化.
例如:
SELECT /*+ALL+_ROW ......