- 1、本文档共41页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
PLSQL基本查询与排序【DOC精选】
?課程 一 PL/SQL 基本查詢與排序 本課重點:
?? 1、寫SELECT語句進行資料庫查詢
?? 2、進行數學運算
?? 3、處理空值
?? 4、使用別名ALIASES
?? 5、連接列
?? 6、在SQL PLUS中編輯緩衝,修改SQL SCRIPTS
?? 7、ORDER BY進行排序輸出。
?? 8、使用WHERE 欄位。
?? 一、寫SQL 命令:
???? 不區分大小寫。
???? SQL 語句用數字分行,在SQL PLUS中被稱為緩衝區。
???? 最後以;或 / 結束語句。
???? 也可以用RUN來執行語句
?? 二、例1:SQL SELECT dept_id, last_name, manager_id
??????????? 2 FROM s_emp;
???????? 2:SQL SELECT last_name, salary * 12, commission_pct
??????????? 2 FROM s_emp;
??????????? 對於數值或日期型的欄位,可以進行相應的四則運算,優先順序與標準的高階語言相同。
??????????? SQL SELECT last_name, salary, 12 * (salary + 100)
??????????? 2 FROM s_emp;
??? 三、列的別名ALIASES:
??????? 計算的時候特別有用;
??????? 緊跟著列名,或在列名與別名之間加“AS”;
??????? 如果別名中含有SPACE,特殊字元,或大小寫,要用雙引號引起。
??????? 例(因字體原因,讀者請記住:引號為英文雙引號Double Quotation):
??????? SQL SELECT last_name, salary,
????????? 2 12 * (salary + 100) ”Annual Salary”
????????? 3 FROM s_emp;
??? 四、連接符號:||
??????? 連接不同的列或連接字串
??????? 使結果成為一個有意義的短語:
??????? SQL SELECT first_name || ’ ’ || last_name
????????? 2 || ’, ’|| title ”Employees”
????????? 3 FROM s_emp;
??? 五、管理NULL值:
??????? SQL SELECT last_name, title,
?????????? 2 salary * NVL(commission_pct,0)/100 COMM
?????????? 3 FROM s_emp;
?????????? 此函數使NULL轉化為有意義的一個值,相當於替換NULL。
??? 六、SQL PLUS的基本內容,請參考SQL PLUS 簡單實用精髓篇
??? 七、ORDER BY 操作:
??????? 與其他SQL92標準資料庫相似,排序如:
??????? SELECT expr
???????? FROM table
?????????? [ORDER BY {column,expr} [ASC|DESC]];
??? 從Oracle7 release 7.0.16開始,ORDER BY 可以用別名。
??? 另:通過位置判斷排序:
??? SQL SELECT last_name, salary*12
?????? 2 FROM s_emp
???????? 3 ORDER BY 2;
????? 這樣就避免了再寫一次很長的運算式。
??? 另:多列排序:
??? SQL SELECT last name, dept_id, salary
??????? 2 FROM s_emp
???????? 3 ORDER BY dept_id, salary DESC;
??? 八、限制選取行:
????????? SELECT expr
?????????? FROM table
???????????? [WHERE condition(s)]
???????????? [ORDER BY expr];
?????? 例1:
?????? SQL SELECT first_name, last_name, start_date
?????????? 2 FROM s_emp
?????????? 3 WHERE start_date BETWEEN ’09-may-91’
?????????? 4 AND ’17-jun-91’;
??????
文档评论(0)