select *
from employees,departments;
假设employees有2行,departments有3行,则查询以后两表做笛卡尔积,返回结果有6行,如果要禁止笛卡尔积,则需要添加where条件.
2.通配符'%', '_' 需要与like搭配使用.
%:占位0,1或多个字符
_:占位1个字符
3.HBase(参考维基百科):
HBase是一个开源的非关系型分布式数据库(NoSQL),它参考了谷歌的BigTable建模,实现的编程语言为 Java。它是Apache软件基金会的Hadoop项目的一部分,运行于HDFS文件系统之上,为 Hadoop 提供类似于BigTable 规模的服务。因此,它可以容错地存储海量稀疏的数据。
HBase在列上实现了BigTable论文提到的压缩算法、内存操作和布隆过滤器。HBase的表能够作为MapReduce任务的输入和输出,可以通过Java API来访问数据,也可以通过REST、Avro或者Thrift的API来访问。
虽然最近性能有了显著的提升,HBase 还不能直接取代SQL数据库。如今,它已经应用于多个数据驱动型网站,包括 Facebook的消息平台.
4.用户以及用户权限
oracle预设管理员用户sys和system,sys(123)属于oracle最高权限用户,而system是普通管理员身份,像scott(tiger)为普通员工,hr也是普通用户,用于访问人力资源相关表,其他用户预先为锁定状态,需要登录sys解锁用户才能使用.
5.
--查询薪资的记录数
select count(salary)
from employees;
--查询薪资总数
select sum(salary)
from employees;
6.sqlserver默认端口号:1433
mysql默认端口号:3306
oracle默认端口号:1521
7.查询雇员表中没有部门的员工的薪资
select salary
from employees
where department_id is null;
注意:这里不是'= null',而是'is null'
8.排序时,可以以数字代表查询时的第几个字段
select last_name,employee_id,salary
from employees
order by 2 desc;
9.oracle常用数据类型
char(size):存储定长字符,默认长度1,最大长度2000字节
varchar2(size):存储变长字符,默认长度1,最大长度4000字节
number(p,s):存储变长数字,p最大位数,s小数位数
date:定长日期或时间
timestamp:同date,精确到秒后6位小数
clob:存储单字节字符大数据,最大4gb,可用来存储非结构化的xml文档
blob:存储无结构的二进制大数据,最大4gb,用来存储图像,视频,音频
rowid:表中行的存储地址,唯一标识一行记录
rownum:查询返回的结果集中行的序号,可用来限制查询返回的行数
10.数据库四种语言
DDL:数据库定义语言,包括create,alter,drop等,不需要commit,执行后直接生效
DML:数据库操作语言,包括select,insert,delete,update等,需要commit,LOCK TABLE-将表锁定, CALL - 调用一个PL/SQL或Java子程序,EXPLAIN PLAN - 解析分析数据访问路径
DCL:数据库控制语言,授权,角色控制等,grant-赋予权限,revoke-撤回权限
TCL:事务控制语言,commit,savepoint,rollback,set transaction
11.decode
Decode函数与一系列嵌套的 IF-THEN-ELSE语句相似。base_exp与compare1,compare2等等依次进行比较。如果base_exp和 第i 个compare项匹配,就返回第i 个对应的value 。如果base_exp与任何的compare值都不匹配,则返回default
12.将2000显示为'$2,000.00'
select to_char(2000,'$0,000.00')
from dual;
select to_char(2000,'$9,999.00')
from dual;
select to_char(2000,'$9,999.99')
from dual;