sql语句的使用2(oracle)

4.2.7、连接查询。如一个列是籍贯中存的代码,如何通过一个SQL语句释成中文:表RY(XM,XB,JG),表JG_CODE(CODE,zhongwen)
   select a.xm,a.xb,b.zhongwen from ry a,jg_code b where a.jg=b.code(+)
   注意此处的(+),既“右连接”,指的是左边的字段值集可以是右边字段值集的子集,不影响左边表的查询结果。(+)也可以用在条件左边,称为“左连接”。
  4.2.8、使用minus、union、intersect对结果集进行差、合、交操作。
   --从结果集中去掉包含在另外一个结果集中的记录。
   Select * from tab1 minus select * from tab2;
   --将两个(或两个以上)结果集联合成一个结果集
   Select * from tab1 union select * from tab2;
   --查询在两个结果集中同时存在的记录
   Select * from tab1 intersect select * from tab2;
  4.2.9、嵌套查询(带子查询的复合查询)
   Select * from tab1 where (tab1.column1, tab1.column2,…)in(select tab2.column1,tab2.column2,… from tab2)
   注意此处的in也可以是 not  in
  4.2.10、查询表中出现重复记录的字段
   Select column1 from tab group by column1 having count(column1)>1;
  4.2.11、表类似创建
   --创建表tab2,它的结构同tab1,创建的同时将tab1中的记录copy到tab2中
   Create table tab2 as select * from tab1;
   注意此处创建并未同时创建表上的约束、触发器等tab1上对象;
    另外如果只想创建表结构而不想拷贝数据可以在后边增加如:where 1=2等不存在的条件;
   同时tab1可以是远程表.
  4.2.12、表(其它数据库对象也可)重命名
   Rename tab1 to tab2; 
  4.2.13、修改表(其它数据库对象也可)存储空间
   Alter table tab remove table space to tabspc_new;
  4.2.14、加快表更新速度,不记录更新日志(也可以是索引等)。
   Alter table tab nologging;
  4.2.15、使用表截断快速删除表记录
   Truncate table tab;

你可能感兴趣的:(数据结构,oracle,sql)