//合計代號100的部門中有幾位員工
< COUNT(DISTINCT) 的應用 >
SELECT COUNT(DISTINCT dept_no) FROM table_name
//公司共有幾個部門
< COUNT及SUM 的應用 >
SELECT COUNT(*),SUM(salsry)FROM table_name WHERE dept_no = 100
//部門代號為100的員工人數及薪資總數
< MIN,MAX,AVG 的應用 >
SELECT MIN(salsry),MAX(salsry),AVG(salsry)FROM table_name
WHERE dept_no = 100
//部門代號為100的員工的最低薪資和最高薪資及平均薪資
< GROUP BY子句應用 >
SELECT COUNT(*),MIN(salsry),MAX(salsry),SUM(salsry)
FROM table_name GROUP BY dept_no
//找出所有部門的人數最低薪資 最高薪資 薪資總數
< HAVING子句應用 >
SELECT COUNT(*),MIN(salsry),MAX(salsry),SUM(salsry)
FROM table_name GROUP BY dept_no HAVING COUNT(dept_no)>2
//找出所有部門的人數大於2個人的最低薪資 最高薪資 薪資總數
------------------------------------------------------------------
●Insert(新增資料,屬DML)
INSERT INTO 資料表名稱 Values (欄位1, 欄位2,...);
INSERT INTO table_name VALUES('Taiwan','NTD');
INSERT INTO table_name(country,currency)VALUES('Taiwan','NTD');
//table_name中有country,currency 兩個欄位
INSERT INTO table_name[(column_list)] SELECT column_list FROM
another_table_name......
//複製多筆資料至另一資料表
INSERT INTO table_name1 SELECT * FROM table_name
//table_name 資料表所有資料加入table_name1中
INSERT INTO Table Values ("陳建中","037-271135","苗市中路","40");
INSERT INTO table_name(column1,column2,...)values(value1,value2,...)
說明:1.若沒有指定column 繫統則會按表格內的欄位順序填入資料。
2.欄位的資料形態和所填入的資料必須吻合。
3.table_name 也可以是景觀 view_name。
INSERT INTO table_name (column1,column2,...) select
columnx,columny,... from another_table
說明:也可以經過一個子查詢(subquery)把別的表格的資料填入。
●Update(更新資料,屬DML)
< 允許更新己存在的資料表資料>
UPDATE table_name SET coumn_name1=data_value1[,coumn_name2
=data_value2,.........] WHERE search_condition]
//table_name 須為資料表或可更新的view名稱
//SET 欲更新欄位名稱
//WHERE 子句用指定更條件(可省略)WHERE 子句中search_condition
條件符合會更新資料;更新的欄位值須以欄位所定義的資料型庇相容
< 更新所有資料>
UPDATE table_name SET salary =salary*1.05;
//員工薪資依物價上漲年增率5%調整
< 更新指定資料>
UPDATE table_name SET salary =salary*1.1 WHERE dept_no=100;
//所有部門代號100的員工薪資調升 1.1
< 更新多個欄位>
UPDATE table_name SET job_grade=1 =salary= 11000 WHERE emp_no=2;
//編號2號員工職級2級晉升為1級 ,薪資並調升110000
UPDATE table_name SET column1='xxx' WHERE conditoins
說明:
1.更改某個欄位設定其值為'xxx'。
2.conditions 是所要符合的條件、若沒有 where 則整個 table 的那個
欄位都會全部被更改。
●Delete(刪除資料,屬DML)
< 刪除指定的資料>
DELETE FROM table_name WHERE dept_no=621;
//部門代號621被裁撤
< 刪除所有的資料>
DELETE FROM table_name
DELETE * FROM table_name//錯誤的
DELETE FROM table_name WHERE conditions
說明:刪除符合條件的資料。
說明:關於where條件後面如果包含有日期的比較,不同數據庫有不同的
表達式。具體如下:
(1)如果是Access數據庫,則為:where mydate>#2000-01-01#
(2)如果是Oracle數據庫,則為:where mydate>cast('2000-01-01'
as date) 或:where mydate>to_date('2000-01-01','yyyy-mm-dd')
在Delphi中寫成:
thedate='2000-01-01';
query1.sql.add('select * from abc where
mydate>cast(' '' thedate '' ' as date)');
如果比較日期時間型,則為:
query1.sql.add('select * from abc
where mydatetime>to_date('2000-01-01 10:00:01','yyyy-mm-dd
hh24:mi:ss')
上一篇: List列表拖放排序记忆演示
下一篇: 用Delphi控制Word的输出
文章整理:西部数码--专业提供域名注册、虚拟主机服务
http://www.west263.com
以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!




