Sql 語法整理

2022-01-11 13:27:34 字數 4536 閱讀 6378

q****uery

1select 和 select * 語句

select lastname,firstname from persons

2select distinct 語句

select distinct company from orders

3where

select * from persons where firstname='bush'

select * from persons where year>1965

文字帶引號

數值不帶

操作符描述

= 等於

<> 不等於

> 大於

< 小於

>= 大於等於

<= 小於等於

between 在某個範圍內

like 搜尋某種模式

4where:and & or

select * from persons where firstname='thomas' and lastname='carter'

and 和 or 可在 where 子語句中把兩個或多個條件結合起來。

5orderby(****desc

select company, ordernumber from orders order by company desc, ordernumber asc

先按company 降序排列,當company 一致時,再按orders公升序排列

insert/update/delete

6insert into

insert into persons values ('gates', 'bill', 'xuanwumen 10', 'beijing')

insert into persons (lastname, address) values ('wilson', 'champs-elysees')

1 插入新行,

2 插入新行的指定欄位的值

7updatewhere

update person set address = 'zhongshan 23', city = 'nanjing' where lastname = 'wilson'

8deletewhere

delete from person where lastname = 'wilson'

delete * from table_name

1 刪除一行

2 刪除所有行

a****dvance

9select top(percent

select top 2 * from persons

select top 50 percent * from persons

1 從 "persons" 表中選取頭兩條記錄。

2 從 "persons" 表中選取 50% 的記錄。

10like

select * from persons where city like 'n%'

select * from persons where city like '%g'

select * from persons where city like '%lon%'

select * from persons where city not like '%lon%'

1 我們希望從上面的 "persons" 表中選取居住在以 "n" 開始的城市裡的人:

2 我們希望從 "persons" 表中選取居住在以 "g" 結尾的城市裡的人:

3 我們希望從 "persons" 表中選取居住在包含 "lon" 的城市裡的人:

4 我們可以從 "persons" 表中選取居住在不包含"lon" 的城市裡的人:

11like萬用字元

萬用字元描述

% 替代乙個或多個字元

_ 僅替代乙個字元

[charlist] 字元列中的任何單一字元

[^charlist] 或者 [!charlist] 不在字元列中的任何單一字元

12where in

select * from persons where lastname in ('adams','carter')

我們希望從上表中選取姓氏為 adams 和 carter 的人:

13wherebetween ... andwhere notbetween ... and

select * from persons where lastname between 'adams' and 'carter'

會選取介於兩個值之間的資料範圍。這些值可以是數值、文字或者日期。 選取lastname欄位中,值為adams的行和值為carter的行中間的行,至於左右包不包括看資料庫。

14join

1 select persons.lastname, persons.firstname, orders.orderno from persons, orders where persons.id_p = orders.id_p

2 select persons.lastname, persons.firstname, orders.orderno from persons inner join orders on persons.id_p = orders.id_p order by persons.lastname

連線兩個表

inner join:****只連線匹配的行,兩個表的交集

join:只連線匹配的行,兩個表的交集

left join:left join返回左表的全部行和右表滿足on條件的行,如果左表的行在右表中沒有匹配,那麼這一行右表中對應資料用null代替。

right join: 即使左表中沒有匹配,也從右表返回所有的行

full join:full join 會從左表 和右表 那裡返回所有的行。如果其中乙個表的資料行在另乙個表中沒有匹配的行,那麼對面的資料用null代替

union 操作符用於合併兩個或多個 select 語句的結果集。

16

sql基本語法複習和整理

1.建立儲存過程 乙個登入的例子 create procedure dbo proc loginuser 定義儲存過程名稱 u name varchar 30 output,定義輸出引數 u pawd varchar 16 定義輸入引數 result int output,r kp varchar ...

SQL語法整理(六) 觸發器

定義 由insert update delete等事件來觸發某種特定的操作 建立單條執行語句的觸發器 語法 mysql create trigger 觸發器 before after 觸發事件 on 表名 for each row 執行語句 mssql create trigger 觸發器名 on ...

SQL語法整理(七) 序列

語法 create sequence 序列名 eg create sequence students seq 通過user objects 表條件object type sequence 檢視 eg select from user objects where object type upper s...