韌館-LearnHouse

[SQL]幾個好玩的SQL語法

一直以來程式一直是我的弱項,一直都很想學但卻又不得其門而入

每次都三分鐘熱度的玩味幾天,幾天後就放棄而丟在一旁 

剛好最近要幫學校寫一支統計資訊的程式,以及其他的一些功能,才漸漸的對程式有近一步的了解

但目前的我程式寫的是亂糟糟,純粹是為了想要某些功能而寫某些功能,都沒有什麼規劃

不過也因為這次的機會,讓我對程式也越來越感興趣不再害怕 

一、 

資料表(部份資料)

 

執行 

SELECT DISTINCT course , Count(course) AS C FROM mdl_resource GROUP BY course

結果(部分) 

 

說明 

透過上面語法即能計算出不同的course重複的次數:DISTINCT course代表不同的course欄位,Count(course) AS C 計算相同course值的次數並把計算結果的欄位改成C。


二、 

資料表(部份資料)

mdl_user_teachers

 

mdl_user

執行 

select mdl_user_teachers.course from mdl_user_teachers,mdl_user where (((mdl_user.id)=31231) and ((mdl_user_teachers.userid)=31231))

結果 

 

說明 

下這語法主要是為了找該使用者的course,而且他要為老師mdl_user_teachers也要為使用者mdl_user

 


三、 

資料表(部份資料)

 

執行 

SELECT * FROM mdl_course WHERE (fullname like '%專題%'or fullname like '%論文%') and (school_year = '96一'or school_year = '95二' or school_year = '96二')

結果

 

說明 

這個方法可以同時選擇欄位fullname字串裡包含專題或論文的或者是school_year是95二、96一、96二的資料


四、 

資料表(部份資料)

執行 

UPDATE mdl_course SET school_year = 96二 WHERE id IN (9870, 9871, 9872, 9873, 9874, 9875, 9876, 9877) 

結果

說明

不用說應該知道這段SQL的功用吧!! 

 

備註: 雖然說SQL語法會用很好用,可以減少很多Coding的工夫,但我有一次為了查詢某資料,做了太複雜的資料表交叉比對運算,結果使得效能變的很低,也就是說開啟網頁的速度會變很慢,而用程式Coding來做篩選判斷,不到一秒鐘的時間網頁就顯示出來!!

 

 

2008年3 月 posted by admin in 程式&軟體 and have No Comments

Place your comment

Please fill your data and comment below.
名稱:
信箱:
網站:
您的評論: