oracle必背的知識點的
/*
多表查詢的思路:
1.分析題目涉及哪些表
2.如果數據來自多張表,就要使用多表查詢:找到表與表之間相同的字段用 = 連接(并放到where字句后面);
3.如果需要對單條記錄做過濾,就把過濾條件追加到where字句后面,用and連接
4.如果需要對多組數據做統計,就要使用group by
5.如果需要對分組之后的數據做過濾,就要使用having
6.如果需要對數據進行排序,就要用到order by
*/
---- delete? ?truncate? ? ?drop的區(qū)別
delete from 表名
where 過濾條件;(可以撤銷)(刪除單行或多行,不加where條件刪除表的所數據)
truncate table 表名(不能撤銷)(刪除表里的所有數據)
drop table 表名(刪除整個表,不能撤銷)
?
?
模糊查詢:
---模糊查詢關鍵字:like
匹配符:
%:表示匹配任意長度的字符
_:下劃線,表示匹配一個長度的任意字符
*/
/*
右連接:
select 字段
from 表1 表1別名,表2 表2別名
where 表1別名.字段(+) = 表2別名.字段
左連接:select 字段 from 表1 表1別名,表2 表2別名 where 表1別名.字段 = 表2別名.字段(+)
*/
去重:
/* 去重:distinct 字段 */
增,刪,改,查的語法:
/*添加數據
insert into 表(字段1,字段2...字段n)
values(值1,值2,...值n)
commit;永久保存在數據庫
rollback;撤銷輸入的數據
*/
/*---刪除數據庫表中的數據
delete from 表名
where 過濾條件;(可以撤銷)
truncate table 表名(不能撤銷)
drop table 表名(刪除整個表,不能撤銷)
*/
/*修改數據
update 表名
set 字段 = 修改后的值
where 過濾條件;
*/?
/*查詢數據
select 字段/表達式
from 表
where 過濾條件
group by 字段
having 分組條件
order by 字段/表達式asc/desc;
*/
orcal數據庫知識點
--創(chuàng)建表格--
/*
create table 表名(
?????? 字段1 數據類型,
?????? 字段2 數據類型,
?????? 字段3 數據類型,
?????? ....
?????? 字段n 數據類型
); */
?
/* 數據類型
唯一約束(unique)
非空約束(not null)
主鍵(primary key)
檢查約束(check)
外鍵(references)
默認值(default)
*/
?
--------修改表:增加列 --------
/*
alter table 表名add(增加)(
????? 字段名1 數據類型,字段名2 數據類型...字段名n 數據類型
);
alter table 表名modify(修改)(
????? 字段名1 數據類型,字段名2 數據類型...字段名n 數據類型
);
alter table 表名 drop(刪除) column字段名;
*/
/* 去重:distinct 字段*/
/*----精確查詢 模糊查詢
---模糊查詢關鍵字:like
匹配符:
%:表示匹配任意長度的字符
_:下劃線,表示匹配一個長度的任意字符
*/
?
-----查詢空值? is null非空is not null
?
---排序?? order by asc(升序)/desc(降序)
?
/*添加數據
insert into 表(字段1,字段2...字段n)
values(值1,值2,...值n)
commit;永久保存在數據庫
rollback;撤銷輸入的數據
*/
?
---插入指定的時間? to_date('字符串','格式')
to_date('1997-11-25','yyyy-mm-dd')
------修改數據庫的數據
/*修改數據
update 表名
set 字段 = 修改后的值
where 過濾條件;
*/
/*---刪除數據庫表中的數據
1.delete from 表名
where 過濾條件;(可以撤銷)
delete from 表名(不加wehere條件,刪除表所有數據)
2.truncate table 表名(不能撤銷)
3.drop table 表名(刪除整個表,不能撤銷)
*/
?
/*
---count(*)統計整個表的所有行數
---count(字段)統計整個表的非空行數
---avg(字段)--統計平均數據
---min(字段)--統計最小值
---max(字段)--統計最大值
---sum(字段)--統計總和
*/
---group by 分組查詢
/*
select 字段/表達式
from 表
where 過濾條件
group by 字段
having 分組條件;
*/
---多表查詢
/*
思路:
1.分析題目涉及哪些表
2.如果數據來自多張表,就要使用多表查詢:找到表與表之間相同的字段用 = 連接(并放到where字句后面);
3.如果需要對單條記錄做過濾,就把過濾條件追加到where字句后面,用and連接
4.如果需要對多組數據做統計,就要使用group by
5.如果需要對分組之后的數據做過濾,就要使用having
6.如果需要對數據進行排序,就要用到order by
*/
---外連接:左連接/右連接
/*
右連接:
select 字段
from 表1 表1別名,表2 表2別名
where 表1別名.字段(+) = 表2別名.字段
左連接:select 字段 from 表1 表1別名,表2 表2別名 where 表1別名.字段 = 表2別名.字段(+)
*/
?
----子查詢
/*
select 字段
from 表
where 字段= (select 字段 from 表 where 條件)
*/
----子查詢,必須要用()括起來。
多行值子查詢
??? 多行子查詢,是指子查詢會返回多個值,此時,需要用到多值比較運算符:[not]in
?? in運算符表示屬于的關系,即是否在所選數據的集合之中。"not in"表示不屬于集合或不是集合的成員。
rownum 隱藏排序