sql分類:
資料操縱語言(dml)
select(查詢)
insert(插入資料)
update(更新資料)
delete(刪除資料)
資料定義語言(ddl)
create(建立)
alter(更改)
drop(刪除)
rename(重新命名)
truncate(擷取)
資料控制語言(dcl) grant(比如說授權遠端連線、許可權授權等等)
簡單查詢
基本語法
第一種形式
②select * ( * 表示查詢所有的字段資訊)
①from 資料**(可以是資料表)
執行順序:先執行from子句,再執行select子句。
第二種形式
select 欄位名1,欄位名2,欄位名3...欄位名n
from 資料**
distinct關鍵字:去掉重複資訊,只有查詢的所有欄位的內容都相同才會認為是重複
as別名:在select子句中為查詢的字段起別名,例如:
empno as 編號,而且as可以省略,例如:ename 姓名
在開發中都是有限定查詢的,如果開發一些比較敏感的系統你沒有限定查詢,會有承擔法律責任的風險。
基本語法
③select *
①from 資料**
②where 過濾條件(where 子句是對資料進行條件判斷,選擇滿足條件的資料)
常用的關鍵字:
between and:在。。。和。。。之間(的範圍),小的數字或者日期放在and的前面。
union all:將兩個查詢的結果並到一起顯示,用來代替or條件查詢,避免索引失效(後面索引的知識點)。
is not null: 不為空
is null: 為空
in(num1,num2,num3):含有num1、num2、num3
not in(num1,num2,num3): 不含有num1、num2、num3
<> :不等於的意思, 等價於 !=
1、_ :表示任意一位字元
2、%:表示任意位數的任意字元
3、要實現模糊查詢需要使用到關鍵字"like"
基本語法:
③select *
①from 資料**
②where 模糊查詢的字段 like 模糊查詢的關鍵字
(注意:模糊查詢要在where子句中去使用)
將查詢的結果按照指定的字段進行公升序或者降序顯示。排序必須是數字或者日期才有意義。
order by 關鍵字: 排序指定的字段
基本語法
③select *
①from 資料**
②where 過濾條件
④order by 排序的字段 asc | desc (如果排序的方式沒寫則預設公升序)
可以在order by 子句中使用select子句的別名,證明了select子句在order by 子句之前執行。
③select *
①from 資料**,資料**...
②where 過濾條件
④order by 排序的字段 asc | desc
笛卡爾積:多表查詢出的資料量是兩張表中的資料量的乘積。
消除兩張資料表的笛卡爾積
select*
from emp,dept
where emp.deptno=dept.deptno;
注意:當查詢的資料量較大時,不建議使用連線查詢(多表查詢),產生過大的笛卡爾積會導致效能耗費。
別名的使用
select *
from emp e,dept d
where e.deptno=d.deptno;
別名的作用:簡化sql的複雜,讓其在引用的時候變得很簡潔。
where子句中引用from子句中產生的別名,證明了where子句在from子句的後面執行。
總結:多表查詢就是從多張資料表中查詢資料
多表查詢又叫做連線查詢
多表查詢會產生笛卡爾積,在資料量大的時候不要使用多表查詢。
連線查詢
多張資料表進行連線然後查詢資料,連線查詢又分為內連線查詢和外連線查詢。
內連線查詢:只有滿足條件的資料才會被顯示
外連線查詢:可以控制不滿足條件的資料是否顯示
左外連線查詢:可以讓左表不滿足條件的資料也顯示
右外連線查詢:可以讓右表不滿足條件的資料也顯示
全外連線查詢:可以讓左表和右表不滿足條件的資料都能顯示
為emp資料表增加一條資料
insert into emp(empno,ename,job,sal) values(1001,'班長','清潔工',3000.00);
總結:
1、內連線查詢只顯示滿足過濾條件的資料
2、外連線查詢可以控制不滿足過濾條件的資料是否顯示
外連線查詢分為:左外連線查詢
右外連線查詢
全外連線查詢
3、可以在過濾條件中使用「(+)」來實現左或者右外連線查詢,但是這種方式是oracle特有的方式,在mysql不能使用
oracle資料庫基礎
1.什麼叫關係型資料庫 基於關係模型的資料庫就叫關係型資料庫。2.那什麼叫關係模型了 使用的儲存結構是多個二維表,實體與實體間的聯絡都是用關係來表示的。oracle資料庫是關係型資料庫 1.sql plus的常用命令 1 conn ect 用法 conn 使用者名稱 密碼 網路服務名 as sysd...
Oracle資料庫基礎!
ddl 資料庫定義語言 dml 資料庫操縱語言 dql 資料庫查詢語言 oracle 甲骨文公司的產品 字元型 char 日期型別date 大字段 樣本資料庫 約束 限制表中的列可以存放什麼樣的資料 not null不允許為空 check一種檢查約束,開發不用 2 檢視表結構 desc 表名 3 資...
Oracle資料庫基礎
oracle資料庫 一 資料庫基礎 dbs db dbms 資料庫系統 資料庫 資料庫管理系統 資料庫三大重點 設計,查詢,編碼 sql web伺服器和資料庫對話的語言 結構化查詢語句 資料庫內部儲存結構有三種 1 關係型 2 層次型 3 網狀型 常見的資料庫 oracle 甲骨文公司 mysql ...