分頁查詢
在oracle中 分頁查詢通過隱含的rownum查詢
select *
from(
select rownum r,*
from(slect * from
from tb)
where rownum<=100 ) 只能小於
)where r>=90 這裡注意外巢狀後r已經是表內列,通過巢狀確定要顯示的列
mysql中
通過limit x,y的方式確定第x行起(+1),後再顯示y行
任何情況下的查詢語句,limit都在最後,查詢的越多越慢
select distinct concat
from
where
group by
order by
limit
表連線表連線是連線字段,並篩選掉一部分不符合條件的行,注意這裡欄位有重複部分沒有刪除,所以不能作為巢狀部分,所謂內連線就是所連線的表都去除一部分
注意這裡行只減不增
不管內外連線都是非標準的
內連線依然成為標準如下:
select e.id,d.name(查詢條件中注意有多行重複,用別稱區分)
from enter e,docker d 注意逗號,注意在最開始的from中簡寫表名稱
where 連線條件
e.id=d.id;
and 連第三張表的條件
注意還可以加普通篩選條件
使用表連線時注意查詢共性元素
外鏈結是不去除條件,也是非標準語句,由各廠商自定義
a *=b右
a =*b左
a(+)=b左 oracle
a=b(+)右
一般外鏈結語句,inner和outer都可以省略
a inner join b
a left outer join b
a right outer join b
a full join b mysql不支援
都在from中過濾:
from a (left) join b on(條件)
(不需要加and)join c on(條件)。。。
直接後面加語句繼續連多張表
select *
from employees e left join departments d
on(e.department_id=d.department_id)
left join locations l
on(d.location_id=l.location_id);
left語句從左表開始不丟行。
事務begin commit rollback
start transaction
一組sql必須全部執行,否則回滾,最基本的資料操作單位
acid
atomic
consistency
isolation
durancy
四層隔離
寫法:set tx_isolation=' '
read-uncommitted
髒讀,重寫,幻讀 一起讀寫,而且讀取未提交的日誌檔案
read-committed
重寫,幻讀 不讀取未提交部分,但是讀寫同時進行,每次查的結果不一樣
repeatal-read
幻讀(一般預設為)
查詢都是第一次查詢的結果,只在本地進行,(所以不知道最新資料),另外只有在commit或者***操作已經變動的資料,才會返回最新資料。。。
serializable
最高安全但最低效率
索引 create index name
on table(id或者,name)
或者:兩個字段同時索引,注意只對字段前面所搜
drop index name
innodb和myisam都是
b+tree結構
最多搜尋 n*log(n為底)x x為總量,公式為運算次數。
檢視
注意不存資料,但是表面可以當做表
主要是為了安全(隱藏表),便捷
建立create view 名稱
asselect。。。
和關聯記憶
create table tb
asselect。。。。。
檢視類似表desc,show table..\g,show view\g
刪除drop view 名稱。
explain
顯示可能用到的約束,用到的約束,字段資料寬度,搜尋行數
SQL知識總結
use tablename 要操作的資料庫名 select logicalfilename tablename log 日誌檔名 maxminutes 10,limit on time allowed to wrap log.newsize 1 你想設定的日誌檔案的大小 m setup initia...
sql 總結知識點
對於存放時間格式為2003090709 56 00 轉換為datetime型別方法 cast stuff a.cyrq,9,0,as datetime 結果為 2003 09 07 09 56 00.000 而將標準datetime型別轉換為字元型方法為 declare begin datetime...
SQL操作知識總結(一)
1 1,普通選擇語句 select name from products 在products表中檢索name的列。一般與where連用。如 select name from products where id 1 在products表中檢索列為id的的name,id 1的有幾條資料,就顯示幾條資料。...