資料庫設計與查詢是程式員必備武器之一,無論是c/s還是b/s架構的軟體,都少不了它的身影。常言說的好,學好資料庫,走到哪裡都不怵。
如何設計資料庫表我們放到另外的系列中去討論,本系列關注資料庫查詢語言sql的運用。
這裡向大家推薦一本好書,sql cookbook。本系列一起來學習這本書中的例子。大家掌握了本系列教程後,再自己實踐一些現實中的需求後,相信在資料庫應用領域將有脫胎換骨的變化。
本系列解決方案均在sql server 2005下測試通過。
首先,介紹下書中使用的2個資料庫表。
CREATE TABLE emp--員工資訊表
(
EMPNO INT NOT NULL ,-- 員工編號
ENAME VARCHAR(32) DEFAULT NULL ,-- 員工姓名
JOB VARCHAR(32) DEFAULT NULL ,-- 員工職位
MGR VARCHAR(32) DEFAULT NULL ,-- 員工直屬經理編號
HIREDATE DATETIME DEFAULT NULL ,-- 員工入職日期
SAL int DEFAULT NULL ,-- 員工薪水
COMM VARCHAR(16) DEFAULT NULL ,-- 員工獎金
DEPTNO VARCHAR(8) DEFAULT NULL ,-- 員工部門編號
PRIMARY KEY ( EMPNO )-- 員工編號為主鍵
)
select * from emp;EMPNO ENAME JOB MGR HIREDATE SAL COMM DEPTNO----- ------ --------- ---- ----------- ---- ---- ------- 7369 SMITH CLERK 7902 17-DEC-1980 800 20 7499 ALLEN SALESMAN 7698 20-FEB-1981 1600 300 30 7521 WARD SALESMAN 7698 22-FEB-1981 1250 500 30 7566 JONES MANAGER 7839 02-APR-1981 2975 20 7654 MARTIN SALESMAN 7698 28-SEP-1981 1250 1400 30 7698 BLAKE MANAGER 7839 01-MAY-1981 2850 30 7782 CLARK MANAGER 7839 09-JUN-1981 2450 10 7788 SCOTT ANALYST 7566 09-DEC-1982 3000 20 7839 KING PRESIDENT 17-NOV-1981 5000 10 7844 TURNER SALESMAN 7698 08-SEP-1981 1500 0 30 7876 ADAMS CLERK 7788 12-JAN-1983 1100 20 7900 JAMES CLERK 7698 03-DEC-1981 950 30 7902 FORD ANALYST 7566 03-DEC-1981 3000 20 7934 MILLER CLERK 7782 23-JAN-1982 1300 10
CREATE TABLE dept --部門資訊表
(
DEPTNO INT NOT NULL ,--部門編號
DNAME VARCHAR(32) DEFAULT NULL ,--部門名稱
LOC VARCHAR(32) DEFAULT NULL ,--部門位置
PRIMARY KEY ( DEPTNO )--部門編號為主鍵
)
select * from dept;
DEPTNO DNAME LOC------ -------------- --------- 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTON