top子句:
select top number|percent column_name(s)
from table_name
示例:
select top 2 * from persons
select top 50 percent * from persons
like 操作符:
select column_name(s)
from table_name
where column_name like pattern
示例:
select * from persons
where city like 'n%'
select * from persons
where city like '%lon%'
select * from persons
where city not like '%lon%'
sql萬用字元:
萬用字元描述替代乙個或多個字元
僅替代乙個字元
[charlist]
字元列中的任何單一字元
[^charlist]
或者[!charlist]
不在字元列中的任何單一字元
示例:
like 'ne%'
like '_eorge'
like 'c_r_er'
like '[!aln]%'
in 操作符:
select column_name(s)
from table_name
where column_name in (value1,value2,...)
in操作符允許where子句中規定多個值
between 操作符:
select column_name(s)
from table_name
where column_name
(not) between value1 and value2
(不同資料庫對於between......and操作是否包括兩端值的情況不同,需要驗證)
alias語法:
select column_name(s)
from table_name
as alias_name
示例:
select po.orderid, p.lastname, p.firstname
from persons as p, product_orders as po
where p.lastname='adams' and p.firstname='john'
select column_name as alias_name
from table_name
示例:
select lastname as family, firstname as name
from persons
(inener) join 關鍵字:
select column_name(s)
from table_name1
inner join table_name2
on table_name1.column_name=table_name2.column_name
用於根據兩個或多個表中的列之間的關係,從這些表中查詢資料
示例:
select persons.lastname, persons.firstname, orders.orderno
from persons
inner join orders
on persons.id_p = orders.id_p
order by persons.lastname
等同於:
select persons.lastname, persons.firstname, orders.orderno
from persons, orders
where persons.id_p = orders.id_p
left join 關鍵字:
select column_name(s)
from table_name1
left join table_name2
on table_name1.column_name=table_name2.column_name
left join 關鍵字會從左表 (table_name1) 那裡返回所有的行,即使在右表 (table_name2) 中沒有匹配的行
right join 關鍵字:
select column_name(s)
from table_name1
right join table_name2
on table_name1.column_name=table_name2.column_name
right join 關鍵字會右表 (table_name2) 那裡返回所有的行,即使在左表 (table_name1) 中沒有匹配的行
full join 關鍵字:
select column_name(s)
from table_name1
full join table_name2
on table_name1.column_name=table_name2.column_name
只要其中某個表存在匹配,full join 關鍵字就會返回行
union 操作符:
select column_name(s) from table_name1
union
select column_name(s) from table_name2
用於合併兩個或多個 select 語句的結果集,union 內部的 select 語句必須擁有相同數量的列。列也必須擁有相似的資料型別。同時,每條 select 語句中的列的順序必須相同
union all 操作符:
select column_name(s) from table_name1
union all
select column_name(s) from table_name2
預設地,union 操作符選取不同的值。如果允許重複的值,請使用 union all
insert into 語句:
select column_name(s)
into new_table_name [in externaldatabase]
from old_tablename
常用於建立表的備份復件或者用於對記錄進行存檔
示例:
select *
into persons in 'backup.mdb'
from persons
select lastname,firstname
into persons_backup
from persons
where city='beijing'
select persons.lastname,orders.orderno
into persons_order_backup
from persons
inner join orders
on persons.id_p=orders.id_p
線性基學習筆記
線性基是幹嘛的呢?給定n個數,求所有數的異或和最大是多少?求解這類問題的時候,就需要線性基了 個人感覺線性基本身就一種貪心。首先定義ba se i bas e i 表示最高位1在i位的數是什麼 對於新進來的數tm p tmp 我們先找出他最高位上的1,假設為第 j j 位,然後看一下ba se j ...
線性基 學習筆記
includeusing namespace std using ll long long const int maxn 5e5 5 原來的數 const int maxbit 63 ll a maxn 原來的數 ll p maxbit p j 第j位為最高位1的數 最高位1在第j位的數 int m...
線性基 學習筆記
按位計算,如果相同記為0,不同記為1。如果,a b c,c b a 交換律結合律 對於任何數,x x 0,x 0 x 對 於一 段序列a n,異或 和為a1 a2 an 對於一段序列a n,異或和為a 1 a 2 a n 對於一段序列 an 異或和為 a1 a2 an 設t s,所有 這樣的子 集t...