【正文】
Y deptHAVING avg(salary) 20000。假設(shè)我們的employee表中包含雇員的name、departmen、salary和age。如果你想使用HAVING子句的話,它應(yīng)該處再GROUP BY子句之后。(12)HAVING子句HAVING子句下面先給出HAVING子句的語法:SELECT column1, SUM(column2)FROM listoftablesGROUP BY columnlistHAVING condition。 這條語句將在每一個單獨的部門中選擇工資最高的工資。 這個GROUP BY子句將集中所有的行在一起,它包含了指定列的數(shù)據(jù)以及允許合計函數(shù)來計算一個或者多個列。 2) 計算items_ordered表中的行數(shù)。從items_ordered表中選擇price最大的數(shù)據(jù)。這條語句實際上將返回employee表的行數(shù),如下:SELECT Count(*)FROM employees。的數(shù)據(jù)的平均值。 以上這條語句將返回employee表中所有title列為39。WHERE title = 39。這條語句將返回單一的結(jié)果,它包含了從employee表中所有salary列數(shù)據(jù)的平均值。它們是總結(jié)了所選數(shù)據(jù)列的結(jié)果。在沒有指定的時候,這個ALL關(guān)鍵字是缺省的。 這條語句將返回所有在employee_info表中單一的age數(shù)據(jù)。如果你想在指定的列中檢索單一記錄,你可以使用DISTINCT 關(guān)鍵子。為開頭的name、title和dept列中的所有行或者數(shù)值。上面的語句是從employee表中選擇title是以39。以下的表格給出了各種比較運算符號:=等于大于小于=大于等于=小于等于不等于LIKE字符串比較測驗舉個例子吧:SELECT name, title, deptFROM employeeWHERE title LIKE 39。注意:一定要在SQL語句末尾加上一個分號。以下是SELECT語句的格式:SELECT [ALL | DISTINCT] column1[,column2]FROM table1[,table2][WHERE conditions][GROUP BY columnlist][HAVING conditions][ORDER BY columnlist [ASC | DESC] ] 下面舉個例子:SELECT name, age, salaryFROM employeeWHERE age 50。每一個子句有大量的選擇項、參數(shù)等等?! ELECT語句用于查詢數(shù)據(jù)庫并檢索匹配你指定條件的選擇數(shù)據(jù)。當(dāng)我們構(gòu)造SQL查詢語句(利用了SELECT語句)的時候,認(rèn)識所有的可能選項和最好的或者最有效率的方法來實現(xiàn)是很有用的。SELECT語句是SQL的核心,在你的SQL語句中可能用的最多的就是SELECT語句了。(9)SELECT語句SELECT語句 在上面的教程中已經(jīng)有用到SELECT語句。為了從表中刪除一個完整的記錄或者行,就直接在delete from后面加上表的名字,并且利用where指明符合什么條件的行要刪除即可。Eric39。Mike39。Eric39。Mike39。的行。 這條語句是從emplyee表中刪除lastname為39。如果你只要刪除其中一行或者幾行,可以參考以下的語句:delete from employeewhere lastname = 39。 [ ] = optional 下面還是舉個例子:delete from employee。就作這幾個練習(xí),千萬不可大意喲。2 Dirk Smith的生日是今天,所以他的年齡應(yīng)該加1。的行中將age加1。 和last_name=39。這段語句是在employee表中,在first_name=39。 and last_name=39。update employeeset age = age+1where first_name=39。Smith39。Jones39。Jones39。Smith39。以上語句是在phone_book表中,在prefix=979的行中將area_code設(shè)置為623。其語句格式如下:update tablenameset columnname = newvalue[,nextcolumn = newvalue2...]where columnname OPERATOR value [and|or column OPERATOR value]。Drop table命令跟從表中刪除所有記錄是不一樣的: 刪除表中的所有記錄是留下表格(只是它是空的)以及約束信息;而drop table是刪除表的所有信息,包括所有行、表格以及約束信息等等。其語法格式為:drop table tablename 下面舉個例子:drop table employee。)。, 39。 ,28, 39。, 39。假如你想往employee表格中插入以下數(shù)據(jù);Zhang Weiguo,28,北京601信箱,北京那么你要使用以下的SQL語句:insert into employee(first, last, age, address, city)values (39。Luke39。字符串筆譯用單引號括起來,而數(shù)字就不用。為了往表中插入數(shù)據(jù),要在關(guān)鍵字insert into之后緊跟著表名,然后是左圓括號,接著是以逗號分開的一系列的列名,再是一個右圓括號,然后在關(guān)鍵字values之后跟著一系列用圓括號括起的數(shù)值。)。, 39。, 45, 39。, 39。 [] = optional 簡單舉個例子:insert into employee(first, last, age, address, city)values (39。你需要創(chuàng)建一個包含firstname、lastname、 title、 age和 salary的表格。作為本節(jié)練習(xí),下面我們自己來設(shè)計和創(chuàng)建表格。所有的這些將在以后的教程中再作進(jìn)一步闡述。它們必須單獨的。約束是一個跟列有關(guān)的基本準(zhǔn)則,返回的數(shù)據(jù)必須遵循這個準(zhǔn)則。它的最大數(shù)字的位數(shù)由括號中的參數(shù)sieze設(shè)定,而括號中的參數(shù)d是設(shè)置小數(shù)點的位數(shù)。date :日期數(shù)值型。number(size):數(shù)值型。varchar(size) :變長度的字符串型。以下是幾種常見的數(shù)據(jù)類型:char(size) :固定長度的字符串型。 數(shù)據(jù)類型是指在特定的列使用什么樣數(shù)據(jù)的類型。表格和列名必須以字母開頭,第二個字符開始可以是字母、數(shù)字或者下劃線,但是要保證名字的總長度不要超過30個字符。你還要保證每一個列定義之間有逗號分隔。為了創(chuàng)建一個新表格,你可以在關(guān)鍵字create table之后跟著表的名字,然后一個圓左括號”(”,然后是第一列的名字,再是這一列的數(shù)據(jù)類型,接著是任意的可選約束,最后是圓右括號”)”。 [ ] = optional 這里注意:你可以任意創(chuàng)建多列的表格,這個條件是可選的。以下是一個簡單創(chuàng)建表格語句的格式: create table tablename(column1 data type,column2 data type, column3 data type)。因此這些都是基礎(chǔ),打好基礎(chǔ)對于以后的學(xué)習(xí)是有幫助的。4 顯示first和last列中l(wèi)ast是以g結(jié)尾的數(shù)據(jù)。 結(jié)果為:first last id age city province Jiang Dongsheng 98000190 28 重慶 四川 好吧,為了讓你對本節(jié)教程能更好的掌握,下面給你幾個練習(xí)鞏固鞏固:1 顯示first和age列的每一個表中數(shù)據(jù) 2 顯示first、last和city列中除了first=Jiang的所有表中的數(shù)據(jù)。的數(shù)據(jù):select * from empinfo where first = 39。 結(jié)果為:first last age Zhang Jiangsheng 23 Jiang Dongsheng 28 最后,你還可以查詢first為39。字符的數(shù)據(jù):select first, last, age from empinfo where last LIKE 39。 此時查詢到的數(shù)據(jù)有:first last Zhang Jiangsheng Huang Weidong Jiang Dongsheng 你還可以這樣來從first、last和age列中來查詢last中間有39。的數(shù)據(jù),你可以使用:select first, last, from empinfowhere last LIKE 39。 這時候檢索到的數(shù)據(jù)為:first last id age city province Zhang Jiangsheng 95123043 23 汕頭 廣東 Huang Weidong 98122001 23 深圳 廣東 Li Simin 98111234 34 珠海 廣東 Zhang Sanmei 99232211 26 廈門 福建 Jiang Dongsheng 98000190 28 重慶 四川 Liu Tongxin 97231231 31 海南 海南 如果你想查詢first和last列中l(wèi)ast的最后字符為39。J%39。 這時候你將來得到以下的數(shù)據(jù):first last id Zhang Jiangsheng 95123043 Huang Weidong 98122001 Li Simin 98111234 Zhang Sanmei 99232211 Jiang Dongsheng 98000190 Liu Tongxin 97231231 如果你使用以下語句:select last, city, age from empinfowhere age 30。 這時候你將來得到以下的數(shù)據(jù):first last id Zhang Jiangsheng 95123043 Huang Weidong 98122001 Li