當前位置:首頁 » 編程語言 » sql綜合語句
擴展閱讀
webinf下怎麼引入js 2023-08-31 21:54:13
堡壘機怎麼打開web 2023-08-31 21:54:11

sql綜合語句

發布時間: 2022-09-13 09:37:21

A. sql的復合查詢語句

sql聯合查詢語句(兩張表)是:

select A.ID,A.VALUE,A.TYPE,A.NAME,B.KEY,B.ID,B.VALUE,B.NAME
min(VALUE),max(VALUE) from A left join B on A.ID = B.ID
where B.NAME="你輸入的名字"
and B.VALUE > (select min(VALUE) from B where NAME="你輸入的名字"))
and B.VALUE < (select min(VALUE) from B where NAME="你輸入的名字"));

延展閱讀:

  • A表欄位stuid,stuname。

  • B表欄位bid,stuid,score,coursename,status。

  • 要用一條sql查出A表中所有記錄的對應的stuid,max(score),coursename,status,並且status=1,sql語句要求跨資料庫,不能使用rownum,top,limit等方言。

  • 比如數據:

  • A

B. SQL資料庫語句大全

SQL資料庫語句大全:

1、選擇:select * from table1 where 范圍

2、插入:insert into table1(field1,field2) values(value1,value2)

3、刪除:delete from table1 where 范圍

4、更新:update table1 set field1=value1 where 范圍

5、排序:select * from table1 order by field1,field2 [desc]

6、總數:select count as totalcount from table1

7、求和:select sum(field1) as sumvalue from table1

C. sql查詢問題。insert和select綜合的語句

insert into a
select '222',a.其他列 from a where a.p='111'
你在插入的時候,把a.p這個111值,替換為222,這樣就可以了
也就是說,用222代替你查出來的a.p這一列

舉個例子吧
insert into a
select'222'(這里應該是a.p),a.a,a.b,a.c,a.d from a where a.p='111'
你可以試試看
要是不明白
可以hi我

D. 為什麼說SQL語句具有綜合統一性的特點

SQL語言集數據查詢(data query)、數據操縱(data manipulation)、數據定義(data definition)和數據控制(data control)功能於一體,充分體現了關系數據語言的特點和優點。其主要特點包括:

1.綜合統一

SQL語言集數據定義語言DDL、數據操縱語言DML、數據控制語言DCL的功能於一體,語言風格統一,可以獨立完成資料庫生命周期中的全部活動,包括定義關系模式、錄入數據以建立資料庫、查詢、更新、維護、資料庫重構、資料庫安全性控制等一系列操作要求,這就為資料庫應用系統開發提供了良好的環境,例如用戶在資料庫投入運行後,還可根據需要隨時地逐步地修改模式,並不影響資料庫的運行,從而使系統具有良好的可擴充性。

E. 資料庫中常用的sql語句有哪些

1.檢索數據
SELECT prod_nameFROM Procts;
#檢索單列

SELECT prod_id, prod_name, prod_priceFROMProcts;
#檢索多列

SELECT * FROM Procts;
#檢索所有列

SELECT DISTINCTvend_id FROMProcts;
#檢索不同的值

SELECTprod_name FROM Procts LIMIT 5;
#返回不超過5行數據

SELECTprod_name FROM Procts LIMIT 5 OFFSET 5;
#返回從第5行起的5行數據。LIMIT指定返回的行數,LIMIT帶的OFFSET指定從哪兒開始。
2.排序檢索數據
SELECTprod_name
FROMProcts
ORDER BYprod_name;
#排序數據

SELECT prod_id, prod_price, prod_name
FROMProcts
ORDER BY prod_price, prod_name;
#按多個列排序

SELECT prod_id, prod_price, prod_name
FROMProcts
ORDER BY 2, 3;
#按列位置排序,第三行表示先按prod_price, 再按prod_name進行排序

SELECT prod_id, prod_price, prod_name
FROMProcts
ORDER BY prod_priceDESC, prod_name;
#prod_price列以降序排序,而prod_name列(在每個價格內)仍然按標準的升序排序

3.過濾數據
SELECT prod_name, prod_price
FROMProcts
WHERE prod_price< 10;
#檢查單個值

SELECT prod_name, prod_price
FROMProcts
WHERE vend_id <> 『DLL01』;
#不匹配檢查

SELECT prod_name, prod_price
FROMProcts
WHERE prod_priceBETWEEN 5 AND 10;
#范圍值檢查

SELECT cust_name
FROMCUSTOMERS
WHERE cust_emailIS NULL;
#空值檢查

4.高級數據過濾
SELECTprod_id, prod_price, prod_name
FROMProcts
WHERE vend_id = 『DLL01』ANDprod_price <= 4;
#AND操作符

SELECTprod_name, prod_price
FROMProcts
WHEREvend_id=』DLL01』 OR vend_id=』BRS01』;
#OR操作符

SELECTprod_name, prod_price
FROMProcts
WHERE (vend_id = 』DLL01』ORvend_id=』BRS01』)
ANDprod_price >= 10;
#求值順序 AND的優先順序高於OR

SELECTprod_name, prod_price
FROMProcts
WHERE vend_idIN (『DLL01』,』BRS01』)
ORDER BY prod_name;
#IN操作符

SELECT prod_name
FROMProcts
WHERE NOTvend_id = 『DLL01』
ORDER BY prod_name;
#NOT 操作符

SELECT prod_name
FROMProcts
WHEREvend_id <> 『DLL01』
ORDER BY prod_name;
#NOT 操作符

F. SQL資料庫語句大全

SQL資料庫語句大全:
1、選擇:select
*
from
table1
where
范圍
2、插入:insert
into
table1(field1,field2)
values(value1,value2)
3、刪除:delete
from
table1
where
范圍
4、更新:update
table1
set
field1=value1
where
范圍
5、排序:select
*
from
table1
order
by
field1,field2
[desc]
6、總數:select
count
as
totalcount
from
table1
7、求和:select
sum(field1)
as
sumvalue
from
table1
幾個高級查詢運算詞:
A、UNION
運算符
UNION
運算符通過組合其他兩個結果表(例如
TABLE1

TABLE2)並消去表中任何重復行而派生出一個結果表。當
ALL

UNION
一起使用時(即
UNION
ALL),不消除重復行。兩種情況下,派生表的每一行不是來自
TABLE1
就是來自
TABLE2。
B、EXCEPT
運算符
EXCEPT
運算符通過包括所有在
TABLE1
中但不在
TABLE2
中的行並消除所有重復行而派生出一個結果表。當
ALL

EXCEPT
一起使用時
(EXCEPT
ALL),不消除重復行。
C、INTERSECT
運算符
INTERSECT
運算符通過只包括
TABLE1

TABLE2
中都有的行並消除所有重復行而派生出一個結果表。當
ALL

INTERSECT
一起使用時
(INTERSECT
ALL),不消除重復行。

G. sql復合查詢語句

selectt0.itemcode,t0.quantity--,t1.*,t1.docstatus,t1.canceled,t1.docdate
frompch1t0
leftjoinopcht1ont0.[DocEntry]=t1.[DocEntry]
where
t1.docdate<'2017-12-01'--條件1
andt0.itemcode='GD01002'-----條件2

union----關鍵部分,欄位一樣時,可以通過union鏈接成一個語句,當部分查詢欄位沒有時,可以根據類型補空或者0

select--t0.itemcode,t0.quantity--,t1.*,t1.docstatus,t1.canceled,t1.docdate
sum(t0.quantity)
fromign1t0
leftjoinoignt1ont0.[DocEntry]=t1.[DocEntry]
WHERE
t1.docdate<'2017-12-01'--條件1
andt0.itemcode='GD01002'-----條件2
groupbyt0.itemcode

……--後面繼續就行
--第二種,建臨時表
if(object_id('temp..#a')>0)
droptable#a
createtable#a
(
itemcodevarchar(100),
quantityint,
docstatusint,
canceledint,
docdatedate
)

insertinto#a(quantity,docstatus,docstatus,canceled,docdate)
selectt0.itemcode,t0.quantity--,t1.*,t1.docstatus,t1.canceled,t1.docdate
frompch1t0
leftjoinopcht1ont0.[DocEntry]=t1.[DocEntry]
where
t1.docdate<'2017-12-01'--條件1
andt0.itemcode='GD01002'-----條件2

insertinto#a(quantity,docstatus,docstatus,canceled,docdate)
select--t0.itemcode,t0.quantity--,t1.*,t1.docstatus,t1.canceled,t1.docdate
sum(t0.quantity)
fromign1t0
leftjoinoignt1ont0.[DocEntry]=t1.[DocEntry]
WHERE
t1.docdate<'2017-12-01'--條件1
andt0.itemcode='GD01002'-----條件2
groupbyt0.itemcode

……--繼續插入數據

--最後查詢
select*from#a
--關於存儲過程
Createprocsp_Test
(
@ddate,
@codevarchar(100)
)
as
begin

--這里只放一個語句,用於參數的示例,只需要將上面的語句放到存儲過程中,並將參數替換就可以了
select--t0.itemcode,t0.quantity--,t1.*,t1.docstatus,t1.canceled,t1.docdate
sum(t0.quantity)
fromign1t0
leftjoinoignt1ont0.[DocEntry]=t1.[DocEntry]
WHERE
t1.docdate<@d--條件1
andt0.itemcode=@code-----條件2
groupbyt0.itemcode
end

H. SQL綜合查詢實例

CREATE DATABASE student ON ( NAME = student_data, FILENAME = 'D:\student\student.mdf', SIZE = 4MB, FILEGROWTH = 10 ), USE student GO CREATE TABLE S ( StudentNo NVARCHAR(10) NOT NULL PRIMARY KEY, StudentName NVARCHAR(10) , StudentAge int, Class NVARCHAR(10) ); GO CREATE TABLE C ( Subject NVARCHAR(10) NOT NULL PRIMARY KEY, SubjectName NVARCHAR(10) ); GO CREATE TABLE SC ( StudentNo NVARCHAR(10) NOT NULL PRIMARY KEY, SubjectNo NVARCHAR(10) , Resault double ); GO

求採納

I. sql 語句大全

1、說明:創建資料庫
CREATE DATABASE database-name
2、說明:刪除資料庫
drop database dbname
3、說明:備份sql server
--- 創建 備份數據的 device
USE master
EXEC sp_admpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'
--- 開始 備份
BACKUP DATABASE pubs TO testBack
4、說明:創建新表
create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)
根據已有的表創建新表:
A:create table tab_new like tab_old (使用舊表創建新表)
B:create table tab_new as select col1,col2… from tab_old definition only
5、說明:刪除新表
drop table tabname
6、說明:增加一個列
Alter table tabname add column col type
註:列增加後將不能刪除。DB2中列加上後數據類型也不能改變,唯一能改變的是增加varchar類型的長度。
7、說明:添加主鍵: Alter table tabname add primary key(col)
說明:刪除主鍵: Alter table tabname drop primary key(col)
8、說明:創建索引:create [unique] index idxname on tabname(col….)
刪除索引:drop index idxname
註:索引是不可更改的,想更改必須刪除重新建。
9、說明:創建視圖:create view viewname as select statement
刪除視圖:drop view viewname
10、說明:幾個簡單的基本的sql語句
選擇:select * from table1 where 范圍
插入:insert into table1(field1,field2) values(value1,value2)
刪除:delete from table1 where 范圍
更新:update table1 set field1=value1 where 范圍
查找:select * from table1 where field1 like 』%value1%』 ---like的語法很精妙,查資料!
排序:select * from table1 order by field1,field2 [desc]
總數:select count as totalcount from table1
求和:select sum(field1) as sumvalue from table1
平均:select avg(field1) as avgvalue from table1
最大:select max(field1) as maxvalue from table1
最小:select min(field1) as minvalue from table1
11、說明:幾個高級查詢運算詞
A: UNION 運算符
UNION 運算符通過組合其他兩個結果表(例如 TABLE1 和 TABLE2)並消去表中任何重復行而派生出一個結果表。當 ALL 隨 UNION一起使用時(即 UNION ALL),不消除重復行。兩種情況下,派生表的每一行不是來自 TABLE1 就是來自 TABLE2。
B: EXCEPT 運算符
EXCEPT運算符通過包括所有在 TABLE1 中但不在 TABLE2 中的行並消除所有重復行而派生出一個結果表。當 ALL 隨 EXCEPT 一起使用時 (EXCEPT ALL),不消除重復行。
C: INTERSECT 運算符
INTERSECT運算符通過只包括 TABLE1 和 TABLE2 中都有的行並消除所有重復行而派生出一個結果表。當 ALL隨 INTERSECT 一起使用時 (INTERSECT ALL),不消除重復行。
註:使用運算詞的幾個查詢結果行必須是一致的。
12、說明:使用外連接
A、left (outer) join:
左外連接(左連接):結果集幾包括連接表的匹配行,也包括左連接表的所有行。
SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c
B:right (outer) join:
右外連接(右連接):結果集既包括連接表的匹配連接行,也包括右連接表的所有行。
C:full/cross (outer) join:
全外連接:不僅包括符號連接表的匹配行,還包括兩個連接表中的所有記錄。
12、分組:Group by:
一張表,一旦分組 完成後,查詢後只能得到組相關的信息。
組相關的信息:(統計信息) count,sum,max,min,avg 分組的標准)
在SQLServer中分組時:不能以text,ntext,image類型的欄位作為分組依據
在selecte統計函數中的欄位,不能和普通的欄位放在一起;
13、對資料庫進行操作:
分離資料庫: sp_detach_db;附加資料庫:sp_attach_db 後接表明,附加需要完整的路徑名
14.如何修改資料庫的名稱:
sp_renamedb 'old_name', 'new_name'

J. SQL資料庫語句大全

經典SQL語句大全
下列語句部分是Mssql語句,不可以在access中使用。
SQL分類:
DDL—數據定義語言(CREATE,ALTER,DROP,DECLARE)
DML—數據操縱語言(SELECT,DELETE,UPDATE,INSERT)
DCL—數據控制語言(GRANT,REVOKE,COMMIT,ROLLBACK)
首先,簡要介紹基礎語句:
1、說明:創建資料庫
CREATE DATABASE database-name
2、說明:刪除資料庫
drop database dbname
3、說明:備份sql server
--- 創建 備份數據的 device
USE master
EXEC sp_admpdevice 'disk', 'testBack', 'c:\mssql7backup\MyNwind_1.dat'
--- 開始 備份
BACKUP DATABASE pubs TO testBack
4、說明:創建新表
create table tabname(col1 type1 [not null] [primary key],col2 type2 [not null],..)
根據已有的表創建新表:
A:create table tab_new like tab_old (使用舊表創建新表)
B:create table tab_new as select col1,col2… from tab_old definition only
5、說明:
刪除新表:drop table tabname
6、說明:
增加一個列:Alter table tabname add column col type
註:列增加後將不能刪除。DB2中列加上後數據類型也不能改變,唯一能改變的是增加varchar類型的長度。
7、說明:
添加主鍵:Alter table tabname add primary key(col)
說明:
刪除主鍵:Alter table tabname drop primary key(col)
8、說明:
創建索引:create [unique] index idxname on tabname(col….)
刪除索引:drop index idxname
註:索引是不可更改的,想更改必須刪除重新建。
9、說明:
創建視圖:create view viewname as select statement
刪除視圖:drop view viewname
10、說明:幾個簡單的基本的sql語句
選擇:select * from table1 where 范圍
插入:insert into table1(field1,field2) values(value1,value2)
刪除:delete from table1 where 范圍
更新:update table1 set field1=value1 where 范圍
查找:select * from table1 where field1 like 』%value1%』 ---like的語法很精妙,查資料!
排序:select * from table1 order by field1,field2 [desc]
總數:select count * as totalcount from table1
求和:select sum(field1) as sumvalue from table1
平均:select avg(field1) as avgvalue from table1
最大:select max(field1) as maxvalue from table1
最小:select min(field1) as minvalue from table1
11、說明:幾個高級查詢運算詞
A: UNION 運算符
UNION 運算符通過組合其他兩個結果表(例如 TABLE1 和 TABLE2)並消去表中任何重復行而派生出一個結果表。當 ALL 隨 UNION 一起使用時(即 UNION ALL),不消除重復行。兩種情況下,派生表的每一行不是來自 TABLE1 就是來自 TABLE2。
B: EXCEPT 運算符
EXCEPT 運算符通過包括所有在 TABLE1 中但不在 TABLE2 中的行並消除所有重復行而派生出一個結果表。當 ALL 隨 EXCEPT 一起使用時 (EXCEPT ALL),不消除重復行。
C: INTERSECT 運算符
INTERSECT 運算符通過只包括 TABLE1 和 TABLE2 中都有的行並消除所有重復行而派生出一個結果表。當 ALL 隨 INTERSECT 一起使用時 (INTERSECT ALL),不消除重復行。
註:使用運算詞的幾個查詢結果行必須是一致的。
12、說明:使用外連接
A、left outer join:
左外連接(左連接):結果集幾包括連接表的匹配行,也包括左連接表的所有行。
SQL: select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c
B:right outer join:
右外連接(右連接):結果集既包括連接表的匹配連接行,也包括右連接表的所有行。
C:full outer join:
全外連接:不僅包括符號連接表的匹配行,還包括兩個連接表中的所有記錄。
其次,大家來看一些不錯的sql語句
1、說明:復製表(只復制結構,源表名:a 新表名:b) (Access可用)
法一:select * into b from a where 1<>1
法二:select top 0 * into b from a
2、說明:拷貝表(拷貝數據,源表名:a 目標表名:b) (Access可用)
insert into b(a, b, c) select d,e,f from b;
3、說明:跨資料庫之間表的拷貝(具體數據使用絕對路徑) (Access可用)
insert into b(a, b, c) select d,e,f from b in 『具體資料庫』 where 條件
例子:..from b in '"&Server.MapPath(".")&"\data.mdb" &"' where..
4、說明:子查詢(表名1:a 表名2:b)
select a,b,c from a where a IN (select d from b ) 或者: select a,b,c from a where a IN (1,2,3)
5、說明:顯示文章、提交人和最後回復時間
select a.title,a.username,b.adddate from table a,(select max(adddate) adddate from table where table.title=a.title) b
6、說明:外連接查詢(表名1:a 表名2:b)
select a.a, a.b, a.c, b.c, b.d, b.f from a LEFT OUT JOIN b ON a.a = b.c
7、說明:在線視圖查詢(表名1:a )
select * from (SELECT a,b,c FROM a) T where t.a > 1;
8、說明:between的用法,between限制查詢數據范圍時包括了邊界值,not between不包括
select * from table1 where time between time1 and time2
select a,b,c, from table1 where a not between 數值1 and 數值2
9、說明:in 的使用方法
select * from table1 where a [not] in (『值1』,』值2』,』值4』,』值6』)
10、說明:兩張關聯表,刪除主表中已經在副表中沒有的信息
delete from table1 where not exists ( select * from table2 where table1.field1=table2.field1 )
11、說明:四表聯查問題:
select * from a left inner join b on a.a=b.b right inner join c on a.a=c.c inner join d on a.a=d.d where .....
12、說明:日程安排提前五分鍾提醒
SQL: select * from 日程安排 where datediff('minute',f開始時間,getdate())>5
13、說明:一條sql 語句搞定資料庫分頁
select top 10 b.* from (select top 20 主鍵欄位,排序欄位 from 表名 order by 排序欄位 desc) a,表名 b where b.主鍵欄位 = a.主鍵欄位 order by a.排序欄位
14、說明:前10條記錄
select top 10 * form table1 where 范圍
15、說明:選擇在每一組b值相同的數據中對應的a最大的記錄的所有信息(類似這樣的用法可以用於論壇每月排行榜,每月熱銷產品分析,按科目成績排名,等等.)
select a,b,c from tablename ta where a=(select max(a) from tablename tb where tb.b=ta.b)
16、說明:包括所有在 TableA 中但不在 TableB和TableC 中的行並消除所有重復行而派生出一個結果表
(select a from tableA ) except (select a from tableB) except (select a from tableC)
17、說明:隨機取出10條數據
select top 10 * from tablename order by newid()
18、說明:隨機選擇記錄
select newid()
19、說明:刪除重復記錄
Delete from tablename where id not in (select max(id) from tablename group by col1,col2,...)
20、說明:列出資料庫里所有的表名
select name from sysobjects where type='U'
21、說明:列出表裡的所有的
select name from syscolumns where id=object_id('TableName')
22、說明:列示type、vender、pcs欄位,以type欄位排列,case可以方便地實現多重選擇,類似select 中的case。
select type,sum(case vender when 'A' then pcs else 0 end),sum(case vender when 'C' then pcs else 0 end),sum(case vender when 'B' then pcs else 0 end) FROM tablename group by type
顯示結果:
type vender pcs
電腦 A 1
電腦 A 1
光碟 B 2
光碟 A 2
手機 B 3
手機 C 3
23、說明:初始化表table1
TRUNCATE TABLE table1
24、說明:選擇從10到15的記錄
select top 5 * from (select top 15 * from table order by id asc) table_別名 order by id desc
隨機選擇資料庫記錄的方法(使用Randomize函數,通過SQL語句實現)
對存儲在資料庫中的數據來說,隨機數特性能給出上面的效果,但它們可能太慢了些。你不能要求ASP「找個隨機數」然後列印出來。實際上常見的解決方案是建立如下所示的循環:
Randomize
RNumber = Int(Rnd*499) +1

While Not objRec.EOF
If objRec("ID") = RNumber THEN
... 這里是執行腳本 ...
end if
objRec.MoveNext
Wend
這很容易理解。首先,你取出1到500范圍之內的一個隨機數(假設500就是資料庫內記錄的總數)。然後,你遍歷每一記錄來測試ID 的值、檢查其是否匹配RNumber。滿足條件的話就執行由THEN 關鍵字開始的那一塊代碼。假如你的RNumber 等於495,那麼要循環一遍資料庫花的時間可就長了。雖然500這個數字看起來大了些,但相比更為穩固的企業解決方案這還是個小型資料庫了,後者通常在一個資料庫內就包含了成千上萬條記錄。這時候不就死定了?
採用SQL,你就可以很快地找出准確的記錄並且打開一個只包含該記錄的recordset,如下所示:
Randomize
RNumber = Int(Rnd*499) + 1

SQL = "SELECT * FROM Customers WHERE ID = " & RNumber

set objRec = ObjConn.Execute(SQL)
Response.WriteRNumber & " = " & objRec("ID") & " " & objRec("c_email")
不必寫出RNumber 和ID,你只需要檢查匹配情況即可。只要你對以上代碼的工作滿意,你自可按需操作「隨機」記錄。Recordset沒有包含其他內容,因此你很快就能找到你需要的記錄這樣就大大降低了處理時間。
再談隨機數
現在你下定決心要榨乾Random 函數的最後一滴油,那麼你可能會一次取出多條隨機記錄或者想採用一定隨機范圍內的記錄。把上面的標准Random 示例擴展一下就可以用SQL應對上面兩種情況了。
為了取出幾條隨機選擇的記錄並存放在同一recordset內,你可以存儲三個隨機數,然後查詢資料庫獲得匹配這些數字的記錄:
SQL = "SELECT * FROM Customers WHERE ID = " & RNumber & " OR ID = " & RNumber2 & " OR ID = " & RNumber3
假如你想選出10條記錄(也許是每次頁面裝載時的10條鏈接的列表),你可以用BETWEEN 或者數學等式選出第一條記錄和適當數量的遞增記錄。這一操作可以通過好幾種方式來完成,但是 SELECT 語句只顯示一種可能(這里的ID 是自動生成的號碼):
SQL = "SELECT * FROM Customers WHERE ID BETWEEN " & RNumber & " AND " & RNumber & "+ 9"
注意:以上代碼的執行目的不是檢查資料庫內是否有9條並發記錄。
隨機讀取若干條記錄,測試過
Access語法:SELECT top 10 * From 表名 ORDER BY Rnd(id)
Sql server:select top n * from 表名 order by newid()
mysql select * From 表名 Order By rand() Limit n
Access左連接語法(最近開發要用左連接,Access幫助什麼都沒有,網上沒有Access的SQL說明,只有自己測試, 現在記下以備後查)
語法 select table1.fd1,table1,fd2,table2.fd2 From table1 left join table2 on table1.fd1,table2.fd1 where ...
使用SQL語句 用...代替過長的字元串顯示
語法:
SQL資料庫:select case when len(field)>10 then left(field,10)+'...' else field end as news_name,news_id from tablename
Access資料庫:SELECT iif(len(field)>2,left(field,2)+'...',field) FROM tablename;
Conn.Execute說明
Execute方法
該方法用於執行SQL語句。根據SQL語句執行後是否返回記錄集,該方法的使用格式分為以下兩種:
1.執行SQL查詢語句時,將返回查詢得到的記錄集。用法為:
Set 對象變數名=連接對象.Execute("SQL 查詢語言")
Execute方法調用後,會自動創建記錄集對象,並將查詢結果存儲在該記錄對象中,通過Set方法,將記錄集賦給指定的對象保存,以後對象變數就代表了該記錄集對象。
2.執行SQL的操作性語言時,沒有記錄集的返回。此時用法為:
連接對象.Execute "SQL 操作性語句" [, RecordAffected][, Option]
·RecordAffected 為可選項,此出可放置一個變數,SQL語句執行後,所生效的記錄數會自動保存到該變數中。通過訪問該變數,就可知道SQL語句隊多少條記錄進行了操作。
·Option 可選項,該參數的取值通常為adCMDText,它用於告訴ADO,應該將Execute方法之後的第一個字元解釋為命令文本。通過指定該參數,可使執行更高效。
·BeginTrans、RollbackTrans、CommitTrans方法
這三個方法是連接對象提供的用於事務處理的方法。BeginTrans用於開始一個事物;RollbackTrans用於回滾事務;CommitTrans用於提交所有的事務處理結果,即確認事務的處理。
事務處理可以將一組操作視為一個整體,只有全部語句都成功執行後,事務處理才算成功;若其中有一個語句執行失敗,則整個處理就算失敗,並恢復到處里前的狀態。
BeginTrans和CommitTrans用於標記事務的開始和結束,在這兩個之間的語句,就是作為事務處理的語句。判斷事務處理是否成功,可通過連接對象的Error集合來實現,若Error集合的成員個數不為0,則說明有錯誤發生,事務處理失敗。Error集合中的每一個Error對象,代表一個錯誤信息。
SQL語句大全精要
2006/10/26 13:46
DELETE語句
DELETE語句:用於創建一個刪除查詢,可從列在 FROM 子句之中的一個或多個表中刪除記錄,且該子句滿足 WHERE 子句中的條件,可以使用DELETE刪除多個記錄。
語法:DELETE [table.*] FROM table WHERE criteria
語法:DELETE * FROM table WHERE criteria='查詢的字'
說明:table參數用於指定從其中刪除記錄的表的名稱。
criteria參數為一個表達式,用於指定哪些記錄應該被刪除的表達式。
可以使用 Execute 方法與一個 DROP 語句從資料庫中放棄整個表。不過,若用這種方法刪除表,將會失去表的結構。不同的是當使用 DELETE,只有數據會被刪除;表的結構以及表的所有屬性仍然保留,例如欄位屬性及索引。

UPDATE
有關UPDATE,急!!!!!!!!!!!
在ORACLE資料庫中
表 A ( ID ,FIRSTNAME,LASTNAME )
表 B( ID,LASTNAME)
表 A 中原來ID,FIRSTNAME兩個欄位的數據是完整的
表 B中原來ID,LASTNAME兩個欄位的數據是完整的
現在要把表 B中的LASTNAME欄位的相應的數據填入到A表中LASTNAME相應的位置。兩個表中的ID欄位是相互關聯的。
先謝謝了!!!!
update a set a.lastname=(select b.lastname from b where a.id=b.id)

掌握SQL四條最基本的數據操作語句:Insert,Select,Update和Delete。
練掌握SQL是資料庫用戶的寶貴財 富。在本文中,我們將引導你掌握四條最基本的數據操作語句—SQL的核心功能—來依次介紹比較操作符、選擇斷言以及三值邏輯。當你完成這些學習後,顯然你已經開始算是精通SQL了。
在我們開始之前,先使用CREATE TABLE語句來創建一個表(如圖1所示)。DDL語句對資料庫對象如表、列和視進行定義。它們並不對表中的行進行處理,這是因為DDL語句並不處理資料庫中實際的數據。這些工作由另一類SQL語句—數據操作語言(DML)語句進行處理。
SQL中有四種基本的DML操作:INSERT,SELECT,UPDATE和DELETE。由於這是大多數SQL用戶經常用到的,我們有必要在此對它們進行一一說明。在圖1中我們給出了一個名為EMPLOYEES的表。其中的每一行對應一個特定的雇員記錄。請熟悉這張表,我們在後面的例子中將要用到它。