王利的博客
歷史在哪里扭曲,就在哪里突破 |
1.關鍵字
Top N 返回記錄的條數(shù),
top N percent? 返回查出結果數(shù)量的百分比(四舍五入),
with ties 與order by,top 一起用能夠查出和最后一條記錄相等的數(shù)據,
distinct? 消除重復記錄
2.集合函數(shù)
Count(字段名) 統(tǒng)計數(shù)據忽略空行
count(*)? 統(tǒng)計不忽略空行,avg,max,min,sum
3.分類匯總查詢
Group by 子句按字段分類,相同字段為一組
注意:用于分類的字段必須是查詢的字段,不要對包含多個空值的字段使用,空值也會作為一組
Having 子句只能在group by 子句中使用作為條件判斷類似于where ,但where中不能調用聚合函數(shù),而having中可以.
4.Rollup 操作符
Cube 操作符
Compute 子句
Compute by 子句
5.聯(lián)接查詢
內聯(lián)接查詢 : 返回滿足聯(lián)接條件的數(shù)據
表1 inner join 表2 on 聯(lián)接表達式
例:select distinct (lastname+' '+firstname) as name,orderid from employees as e inner join orders as o on e.employeeid=o.employeeid
外聯(lián)接查詢:返回滿足聯(lián)接條件的數(shù)據,也返回左邊或者右邊表不符合聯(lián)接條件的記錄
左向外聯(lián)接:返回table1所有的記錄,如果table1中的記錄在table2中沒有匹配的記錄,則結果集和table2相關的字段為空值
Table1 left join table2 on 聯(lián)接expression
Table1 left outer join table2 on 聯(lián)接expression
右向外聯(lián)接:返回table2所有的記錄,如果table2中的記錄在table1中沒有匹配的記錄,則結果集和table1相關的字段為空值
Table1 right join table2 on 聯(lián)接expression
Table1 right outer table2 on 聯(lián)接expression
完整外聯(lián)接查詢:返回兩個表所有的記錄,互相沒有匹配記錄時填充空值.
Table1 full join table2 on 聯(lián)接expression
Table1 full outer table2 on 聯(lián)接expression
?
交叉聯(lián)接查詢:如果沒有where,返回table1,table2的笛卡兒乘積,既所有記錄的不同交叉組合
Table1 cross join table2
?
6.合并多個記錄集
Union? [all]操作符
要求引用的所有的表都有相似的數(shù)據結構,相同的字段數(shù)且每個查詢中字段的順序要相同
如果要全部返回不刪除重復記錄就使用all
盡量把復雜的查詢分解提高查詢效率.
?
7.子查詢
一個查詢語句嵌套在DML(select,update,delete,insert)語句中,則該語句被成為子查詢.嵌套最多32層,功能類似于聯(lián)接查詢,主要用于當查詢需要多個步驟時.
分類:
相關子查詢子查詢重復執(zhí)行,并將結果值代入外部查詢的where子句進行評估.
內層子查詢被反復執(zhí)行,對外層查詢的每行內層子查詢都執(zhí)行一次.
先外層查詢再內層查詢再外層再內層
例:select lastname,firstname from employees as e where '1998-1-1' in (select orderdate from orders as o where o.employeeid=e.employeeid)
相關子查詢的操作符 exists(not exists)用于限制外部查詢,使其結果集符合子查詢的條件,子查詢返回true ,false
例:select lastname,firstname from employees as e where exists (select * from orders as o where o.employeeid=e.e.employeeid and o.orderdate='1998-1-1')
嵌套子查詢? 只執(zhí)行一次子查詢并將結果值代入外部查詢的where子句進行評估.
內層子查詢執(zhí)行完畢,再執(zhí)行外層查詢.
?例:select lastname,firstname from employees where employeesid in (select employeesid from orders where orders.orderdate='1998-1-1')
?
子查詢可以作為派生的表
可以作為表達式
Select? productname,unitprice,(unitprice-(select avg(unitprice) from products) ) as diff from products where productname='chai'
模擬聯(lián)接子句
模擬having子句
?最近這兩個星期,遇到的每件事都值得我記憶回味,從中更深層次的認識自己,看清自己。
主要三件事:1.辭職。
?????????????????? 辭職時的考慮,擔憂。新工作的洽談,選擇和分析新公司的狀況。
????????????????? 從結果看當時的想法那些是對的,那些是謬誤的
?????????????? 2. 做金揚網站。
????????????????? 剛接到私活事的心情,冷了兩個星期后的心情,做網站的態(tài)度,做網站的效率。到底做出了什??? 么。趕活時的心情,做完后我的心情和感受。
?????????????? 3.新公司里學習php和接受考驗。
????????????????????? 學習php的體驗,以及筆記整理。失敗在傲慢和輕視。
????????????????????? 人際關系的處理。
?????????????????????
?
需要思考的幾個問題:1.怎么學習
????????????????????????? 遠期的學習目標,近期的學習目標,最迫切要學習的知識。
????????????????????????? 學習的方法:記學習筆記,看書,聽教程,上網查資料,找相關的網站。練習,練習,再練習。
????????????????????????? 學習的時間,學習的方式。
????????????????????????? 2.怎么工作
????????????????????????? 工作的意義:為什么而工作,工作的方向,目標。
????????????????????????? 工作的方式:上班,私活
????????????????????????? 怎樣對待工作的時間,安排工作的時間,在城青的時候我怎樣對待工作和工作時間的
??????????????????????
????????????????????????? 3.怎么生活
?1.解決了金楊網站論壇的問題。
2.遺留問題:金楊網站的文檔。
??????????????? php模板的學習
??????????????? 金揚網站增加一個欄目。
?1.學習smarty模板技術
2.寫學習手記
3.寫一個例子
4.在博客上寫php和smarty的安裝詳解
5.寫心情博客
6.寫上次開發(fā)金楊網站的心得
1.金楊網站交工,遺留了兩個問題:論壇和再加一個欄目
辦了一件傻事:話太多,說了不該說的話。
?
3.想出了一個php網站架構方案
4.晚上又是12點以后才睡覺,造成第二天睡眠不足。
5.晚上修改了金揚網站的幾個頁面顯示的樣式問題,空指針的跳轉問題,擴展了在線編輯器上傳文件的大小。發(fā)現(xiàn)了在線編輯器里上傳的圖片無法刪除的問題。
?1.寫出用戶管理的接口類。
2.寫出分頁類。
3.寫出防sql注入的函數(shù)或類。
4.架構出php開發(fā)框架。
?1.回顧已經學習的php,語法,函數(shù)等
2.學習php的面向對象編程(oop),主要教程:PHP5學習對象教程
? 學習php分頁實例,php防注入等常用技巧,并且整理出自己的解決方案
3.查找合適的論壇,修改論壇。
4.寫金楊網站的安裝說明文檔,并且做成chm格式的文件。