freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

sql實(shí)例講解(編輯修改稿)

2024-08-31 09:55 本頁面
 

【文章內(nèi)容簡介】 olumnlist][HAVING conditions][ORDER BY columnlist [ASC | DESC] ] 下面舉個(gè)例子:SELECT name, age, salaryFROM employeeWHERE age 50。 上面的這個(gè)語句將從employee表中選擇age大于50的所有的name、age和salary列的數(shù)值。注意:一定要在SQL語句末尾加上一個(gè)分號(hào)。這個(gè)分號(hào)提示SQL語句已經(jīng)結(jié)束并準(zhǔn)備被解釋。以下的表格給出了各種比較運(yùn)算符號(hào):=等于大于小于=大于等于=小于等于不等于LIKE字符串比較測(cè)驗(yàn)舉個(gè)例子吧:SELECT name, title, deptFROM employeeWHERE title LIKE 39。Pro%39。上面的語句是從employee表中選擇title是以39。Pro39。為開頭的name、title和dept列中的所有行或者數(shù)值。另外ALL和DISTINCT也是SQL中的關(guān)鍵字,它們用于在你的查詢結(jié)果中選擇ALL(缺?。┗蛘遜istinct或者單一記錄。如果你想在指定的列中檢索單一記錄,你可以使用DISTINCT 關(guān)鍵子。 因?yàn)镈ISTNCT 將會(huì)丟棄所有你在SELECT指定的列復(fù)制的記錄,比如 : SELECT DISTINCT age FROM employee_info。 這條語句將返回所有在employee_info表中單一的age數(shù)據(jù)。而ALL就將顯示所有指定的類,包括所有的復(fù)制數(shù)據(jù)。在沒有指定的時(shí)候,這個(gè)ALL關(guān)鍵字是缺省的。(10)合計(jì)函數(shù)所有的合計(jì)函數(shù)如下表所示:MIN返回一個(gè)給定列中最小的數(shù)值MAX返回一個(gè)給定列中最大的數(shù)值SUM返回一個(gè)給定列中所有數(shù)值的總和AVG返回一個(gè)給定列中所有數(shù)值的平均值COUNT返回一個(gè)給定列中所有數(shù)值的個(gè)數(shù)COUNT(*)返回一個(gè)表中的行數(shù)合計(jì)函數(shù)用于從SELECT語句中計(jì)算一個(gè)”返回列的數(shù)據(jù)”。它們是總結(jié)了所選數(shù)據(jù)列的結(jié)果。雖然它們需要GROUP BY子句(后面一個(gè)教程介紹),但是這些函數(shù)也可以在不用使用GROUP BY子句的情況被使用,比如 :SELECT AVG(salary)FROM employee。這條語句將返回單一的結(jié)果,它包含了從employee表中所有salary列數(shù)據(jù)的平均值。為了更好的理解,我們?cè)倥e個(gè)例子:SELECT AVG(salary)FROM employee。WHERE title = 39。Programmer39。 以上這條語句將返回employee表中所有title列為39。Programmer39。的數(shù)據(jù)的平均值。下面的例子中使用的語句跟其它合計(jì)函數(shù)有點(diǎn)不用,因?yàn)闆]有一個(gè)類被指定給COUNT函數(shù)。這條語句實(shí)際上將返回employee表的行數(shù),如下:SELECT Count(*)FROM employees。最后給出本節(jié)教程的配套練習(xí):1)作一個(gè)公司的銷售表items_ordered,里面有price、product和amount。從items_ordered表中選擇price最大的數(shù)據(jù)。這里提示:使用MAX函數(shù)。 2) 計(jì)算items_ordered表中的行數(shù)。(11)GROUP BY子句GROUP BY子句首先講講GROUP BY 子句語法: SELECT column1, SUM(column2)FROM listoftablesGROUP BY columnlist。 這個(gè)GROUP BY子句將集中所有的行在一起,它包含了指定列的數(shù)據(jù)以及允許合計(jì)函數(shù)來計(jì)算一個(gè)或者多個(gè)列。當(dāng)然最好解釋的方法是給出一個(gè)例子啦:假設(shè)我們將從employee表中搜索工資最高的列,可以使用以下的SQL語句:SELECT max(salary), deptFROM employee GROUP BY dept。 這條語句將在每一個(gè)單獨(dú)的部門中選擇工資最高的工資。結(jié)果他們的salary和dept將被返回。(12)HAVING子句HAVING子句下面先給出HAVING子句的語法:SELECT column1, SUM(column2)FROM listoftablesGROUP BY columnlistHAVING condition。 這個(gè)HAVING子句允許你為每一個(gè)組指定條件,換句話說,可以根據(jù)你指定的條件來選擇行。如果你想使用HAVING子句的話,它應(yīng)該處再GROUP BY子句之后。下面將以一個(gè)例子來解釋HAVING子句。假設(shè)我們的employee表中包含雇員的name、departmen、salary和age。如果你想為每個(gè)部門中每個(gè)雇員選擇平均工資的話,你可以使用下面的SQL語句:SELECT dept, avg(salary)FROM employeeGROUP BY dept。 當(dāng)然,如果你還想只計(jì)算和顯示salary大于20000的平均工資的話,你還可以加上HAVING子句:SELECT dept, avg(salary)FROM employeeGROUP BY deptHAVING avg(salary) 20000。(13)ORDER BY子句ORDER BY子句ORDER BY子句的語法為:SELECT column1, SUM(column2)FROM listoftablesORDER BY columnlist [ASC | DESC]。 [ ] = optional ORDER BY是一個(gè)可選的子句,它允許你根據(jù)指定要order by的列來以上升或者下降的順序來顯示查詢的結(jié)果。例如: ASC = Ascending Order – 這個(gè)是缺省的DESC = Descending Order 下面舉個(gè)例子:SELECT employee_id, dept, name, age, salaryFROM employee_infoWHERE dept = 39。Sales39。ORDER BY salary。 這條SQL語句將從employee_info表中列dept等于39。Sales39。選擇employee_id,、dept、 name、 age和 salary,并且根據(jù)他們的salary按升序的順序來列出檢索結(jié)果。如果你想對(duì)多列排序的話,那么在列與列之間要加上逗號(hào),比如 :SELECT employee_id, dept, name, age, salaryFROM employee_infoWHERE dept = 39。Sales39。ORDER BY salary, age DESC。(14)組合條件和布爾運(yùn)算符以下的SQL語句中就含有組合條件:SELECT column1, SUM(column2)FROM listoftablesWHERE condition1 AND condition2。 AND運(yùn)算符可以在WHERE子句中連接兩個(gè)或者多個(gè)條件。AND條件的兩旁必須都為true(真),即兩個(gè)條件都同時(shí)滿足的時(shí)候,這些行才將被顯示。當(dāng)然,你也可以使用OR運(yùn)算符,它也可以在WHERE子句中連接兩個(gè)或者多個(gè)條件。但是,只要OR運(yùn)算符兩旁有一個(gè)為true的時(shí)候條件就滿足了,因此行才會(huì)被顯示。所以你使用OR運(yùn)算符的時(shí)候,可以是OR運(yùn)算符兩旁只有一個(gè)為true或者兩旁都為true。下面舉個(gè)例子吧:SELECT employeeid, firstname, lastname, title, salaryFROM employee_infoWHERE salary = AND title = 39。Programmer39。 39。Programmer39。的列employeeid、 firstname、 lastname、 title和 salary。此時(shí)必須AND運(yùn)算符兩旁的條件都為真,行才會(huì)最為檢索結(jié)果返回。如果其中有一個(gè)條件為假,那么就什么都沒有顯示。你可以使用圓括號(hào)將條件括起來,雖然它們也不一定是必須的,但是括起來看起來更清晰一些,這是一個(gè)編程習(xí)慣的問題。比如 :SELECT employeeid, firstname, lastname, title, salaryFROM employee_infoWHERE (salary = ) AND (title = 39。Programmer39。)。 下面再舉個(gè)例子:SELECT firstname, lastname, title, salaryFROM employee_infoWHERE (title = 39。Sales39。) OR (title = 39。Programmer39。)。 這條語句將從employee_info表中選擇title等于39。Sales39?;蛘叩扔?9。Programmer39。的列firstname、 lastname, title和 salary。(15)IN 和 BETWEEN 條件運(yùn)算符下面是IN條件運(yùn)算符的SQL語句:SELECT column1, SUM(column2)FROM listoftablesWHERE column3 IN (listofvalues)。 下面是BETWEEN條件運(yùn)算符的SQL語句:SELECT column1, SUM(column2)FROM listoftablesWHERE column3 BETWEEN value1 AND value2。 實(shí)際上,IN條件運(yùn)算符是一個(gè)設(shè)置成員測(cè)試運(yùn)算符,也就是說,它用于測(cè)試是否一個(gè)數(shù)值處在IN關(guān)鍵字之后提供的數(shù)值之中。舉個(gè)例子如下:SELECT employeeid, lastname, salaryFROM employee_infoWHERE lastname IN (39。Hernandez39。, 39。Jones39。, 39。Roberts39。, 39。Ruiz39。)。 這條語句是從employee_info表中選擇lastname等于Hernandez、Jones、 Roberts或者 Ruiz名字之一的列employeeid、 lastname和 salary。如果它在其中就將返回行。IN條件運(yùn)算符可以使用混合條件來替代,比如你可以使用等號(hào)運(yùn)算符或者使用OR運(yùn)算符等等,但是結(jié)果是一樣的,例如:SELECT employeeid, lastname, salaryFROM employee_infoWHERE lastname = 39。Hernandez39。 OR lastname = 39。Jones39。 OR lastname = 39。Roberts39。 OR lastname = 39。Ruiz39。 你可以觀察到,利用IN運(yùn)算符時(shí)語句會(huì)更加簡短并且容易讀,特別是在你測(cè)試兩個(gè)或者三個(gè)數(shù)值以上的時(shí)候尤為突出。當(dāng)然你也可以使用NOT IN 來在你的列表中排除行的。而BETWEEN條件運(yùn)算符是用與測(cè)試一個(gè)數(shù)值是否處在BETWEEN關(guān)鍵字兩邊指定數(shù)值的中間,比如:SELECT employeeid, age, lastname, salaryFROM employee_infoWHERE age BETWEEN 30 AND 40。 這條SQL語句是從employee_info表中選擇age處于30到40歲之間(包括30歲和40歲)的列employeeid、age、 lastname和salary。這條語句同樣可以不用BETWEEN運(yùn)算符,而使用混合條件來替代,例如:SELECT employeeid, age, lastname, salaryFROM employee_infoWHERE age = 30 AND age = 40。 當(dāng)然,你也可以類似于NOT IN的方法,使用NOT BETWEEN來排除一些數(shù)據(jù)。(16)數(shù)學(xué)運(yùn)算符標(biāo)準(zhǔn)的ANSI SQL92支持下面四個(gè)基本的算術(shù)運(yùn)算符:+加減*乘/除%求余其中求余運(yùn)算符決定除法的余數(shù)。這個(gè)運(yùn)算符不是ANSI SQL支持的,但是,絕大多數(shù)的數(shù)據(jù)庫支持他。下面是一些有用的數(shù)學(xué)函數(shù),因?yàn)榭赡芤玫剿晕疫@里要集中提一下。在ANSI SQL92中不支持這些函數(shù),但是它們可能對(duì)于某些特殊的RDBMS是有效的。然而它們對(duì)于幾個(gè)主要的數(shù)據(jù)庫系統(tǒng)都是有效的。下面就說說這些數(shù)學(xué)函數(shù)吧:ABS(x)返回x的絕對(duì)值SIGN(x)當(dāng)x為負(fù)數(shù)、零、正數(shù)的時(shí)候分別返回x的符號(hào)0或者1MOD(x,y)返回x除以y的余數(shù),跟x%y作用一樣FLOOR(x)返回小于等于x的最大整數(shù)CEILING(x) 或 CEIL(x)返回大于等于x的最小整數(shù)POWER(x,y)返回x的y次方的數(shù)值ROUND(x)返回最接近于x的數(shù)ROUND(x,d)返回小數(shù)點(diǎn)數(shù)為4的接近于x的數(shù)SQRT(x)返回x的平方根下面舉個(gè)例子:SELECT round(salary), firstnameFROM employee_info 上面這條語句將從employee_info表中選擇salary最接近的數(shù)以及firstname列。(17)JOIN子句不知你有沒有發(fā)現(xiàn)直到現(xiàn)在我們利用SELECT語句來檢索的時(shí)候只能從一個(gè)表中進(jìn)行。如果你想從兩個(gè)表或者更多的表中進(jìn)行檢索,該怎么辦呢?好在我們可以使用SQL和關(guān)系數(shù)據(jù)庫系統(tǒng)的一個(gè)很有用的特性,即Join。為了簡單說明,實(shí)際上Join就是使得關(guān)系數(shù)據(jù)庫系統(tǒng)相關(guān)的東東。Join允許你從兩個(gè)表或者更多的表連接數(shù)據(jù)進(jìn)行數(shù)據(jù)檢索,而只需要利用一個(gè)SELECT語句。如果在FROM關(guān)鍵字之后有多個(gè)表的話,Join可以在SQL SEL
點(diǎn)擊復(fù)制文檔內(nèi)容
化學(xué)相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號(hào)-1