SQL必知必會》 筆記2

2022-08-27 07:30:13 字數 2959 閱讀 6606

密碼:okgi

單列

select prod_name

from products;

多列
select prod_id, prod_name, prod_price

from products;

所有列

萬用字元*

select *

from products;

檢索不同的值

如果結果有相同的值,只出現一次

select distinct vend_id

from products;

限制檢索結果

返回不超過x行的結果

select prod_name 

from products

limit 5 offset 5;

後面的5表示從第五行算起

上述也可以寫成

select prod_name 

from products

limit 5,5;

--#/**/

排序

select prod_name

from products

order by prod_name;

按多個列排序
select prod_id, prod_price, prod_name 

from products

order by prod_price, prod_name;

按列的位置排序
select prod_id, prod_price, prod_name 

from products

order by 2,3;

指定排序方向

ascdesc,預設公升序

select prod_id, prod_price, prod_name 

from products

order by prod_price desc;

單個值

select prod_name, prod_price

from products

where prod_price = 3.49;

不匹配
select prod_name, prod_price

from products

where prod_price <> 'dllo1';

範圍值
select prod_name, prod_price

from products

where prod_price between 5 and 10;

空值
select cust_name

from customers

where cust_email is null;

and

select prod_id, prod_price, prod_name

from products

where vend_id = 'dll01' and prod_price <= 4;

or
select prod_name, prod_price 

from products

where vend_id = 'dll01' or vend_id = 'brs01';

and的優先順序高於or,必要時用括號確定優先順序

select prod_name, prod_price 

from products

where (vend_id = 'dll01' or vend_id = 'brs01')

and prod_price >= 10;

in
select prod_name, prod_price 

from products

where vend_id in ( 'dll01', 'brs01' )

order by prod_name;

not
select prod_name 

from products

where not vend_id = 'dll01'

order by prod_name desc;

%萬用字元

表示任何字元出現任意次數,包括0次

select prod_id, prod_name 

from products

where prod_name like 'fish%';

_萬用字元

匹配任意單個字元

select prod_id, prod_name 

from products

where prod_name like '__ inch teddy bear';

萬用字元

指定乙個字符集

在mysql 8中使用似乎沒有用,使用rlike和regexp和方括號都沒用

建議檢視手冊,關於正規表示式部分

select cust_contact

from customers

where cust_contact regexp 'j%'

order by cust_contact;

-- after test, the '' is useless

sql必知必會筆記2

1 在很多dbms中,as關鍵字是可選的,不過最好使用它,這被視為一條最佳實踐。2 正如所見,sql的萬用字元很有用。但這種功能是有代價的,即萬用字元搜尋一般比前面討論的其他搜尋要耗費更長的處理時間。這裡給出一些使用萬用字元時要記住的技巧。不要過度使用萬用字元。如果其他操作符能達到相同的目的,應該使...

SQL必知必會2

資料庫伺服器有 兩種儲存介質 分別為硬碟和 記憶體。記憶體屬於臨時儲存,容量有限,且當發生意外時 如斷電或者發生故障重啟 會造成資料丟失 硬碟相當於永久儲存介質,這也是為什麼我們需要把資料儲存到硬碟上。資料庫中管理儲存空間的基本單位是頁 page 不論是讀一行還是多行,都是講這些行所在的頁進行載入 ...

《sql必知必會》筆記

資料庫 儲存有組織的資料的容器 通常是乙個檔案或一組檔案 注意誤用混淆 資料庫軟體被稱為dbms,資料庫是通過dbms建立和操縱的容器 模式 關於資料庫和表的布局及特性的資訊。主鍵 一列或一組列,其值能夠唯一標識表中的每一行。多條sql語句必須以 分隔。sql語句不區分大小寫,select和sele...