亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? ch04.htm

?? Learn SQL in an easy way...
?? HTM
?? 第 1 頁 / 共 5 頁
字號:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN"><HTML><HEAD>		<TITLE>Teach Yourself SQL in 21 Days, Second Edition -- Day 4 -- Functions: Molding the Data You Retrieve</TITLE></HEAD><BODY TEXT="#000000" BGCOLOR="#FFFFFF"><CENTER><H1><IMG SRC="../buttonart/sams.gif" WIDTH="171" HEIGHT="66" ALIGN="BOTTOM" BORDER="0"><BR><FONT COLOR="#000077">Teach Yourself SQL in 21 Days, Second Edition</FONT></H1></CENTER><CENTER><P><A HREF="../ch03/ch03.htm"><IMG SRC="../buttonart/previous.gif" WIDTH="128" HEIGHT="28"ALIGN="BOTTOM" ALT="Previous chapter" BORDER="0"></A><A HREF="../ch05/ch05.htm"><IMGSRC="../buttonart/next.gif" WIDTH="128" HEIGHT="28" ALIGN="BOTTOM" ALT="Next chapter"BORDER="0"></A><A HREF="../index.htm"><IMG SRC="../buttonart/contents.gif" WIDTH="128"HEIGHT="28" ALIGN="BOTTOM" ALT="Contents" BORDER="0"></A> <HR></P></CENTER><CENTER><H1><FONT COLOR="#000077">- Day 4 -<BR>Functions: Molding the Data You Retrieve</FONT></H1></CENTER><H2><FONT COLOR="#000077">Objectives</FONT></H2><P>Today we talk about functions. Functions in SQL enable you to perform feats suchas determining the sum of a column or converting all the characters of a string touppercase. By the end of the day, you will understand and be able to use all thefollowing:<UL>	<LI>Aggregate functions	<P>	<LI>Date and time functions	<P>	<LI>Arithmetic functions	<P>	<LI>Character functions	<P>	<LI>Conversion functions	<P>	<LI>Miscellaneous functions</UL><P>These functions greatly increase your ability to manipulate the information youretrieved using the basic functions of SQL that were described earlier this week.The first five aggregate functions, <TT>COUNT</TT>, <TT>SUM</TT>, <TT>AVG</TT>, <TT>MAX</TT>,and <TT>MIN</TT>, are defined in the ANSI standard. Most implementations of SQL haveextensions to these aggregate functions, some of which are covered today. Some implementationsmay use different names for these functions.<H2><FONT COLOR="#000077">Aggregate Functions</FONT></H2><P>These functions are also referred to as group functions. They return a value basedon the values in a column. (After all, you wouldn't ask for the average of a singlefield.) The examples in this section use the table <TT>TEAMSTATS</TT>:</P><H5>INPUT:</H5><PRE><FONT COLOR="#0066FF">SQL&gt; <B>SELECT * FROM TEAMSTATS;</B></FONT></PRE><H5><FONT COLOR="#000000">OUTPUT:</FONT></H5><PRE><FONT COLOR="#000000"></FONT></PRE><PRE><FONT COLOR="#0066FF">NAME      POS  AB HITS WALKS SINGLES DOUBLES TRIPLES HR SO--------- --- --- ---- ----- ------- ------- ------- -- --JONES      1B 145   45 34    31       8       1       5 10DONKNOW    3B 175   65 23    50      10       1       4 15WORLEY     LF 157   49 15    35       8       3       3 16DAVID      OF 187   70 24    48       4       0      17 42HAMHOCKER  3B  50   12 10    10       2       0       0 13CASEY      DH   1    0  0     0       0       0       0  16 rows selected.</FONT></PRE><H3><FONT COLOR="#000077">COUNT</FONT></H3><P>The function <TT>COUNT</TT> returns the number of rows that satisfy the conditionin the <TT>WHERE</TT> clause. Say you wanted to know how many ball players were hittingunder 350. You would type</P><H5>INPUT/<FONT COLOR="#000000">OUTPUT:</FONT></H5><PRE><FONT COLOR="#0066FF">SQL&gt; <B>SELECT COUNT(*) </B> 2  <B>FROM TEAMSTATS</B>  3 <B> WHERE HITS/AB &lt; .35;</B>COUNT(*)--------       4</FONT></PRE><P>To make the code more readable, try an alias:</P><H5>INPUT/<FONT COLOR="#000000">OUTPUT:</FONT></H5><PRE><FONT COLOR="#0066FF">SQL&gt; <B>SELECT COUNT(*) NUM_BELOW_350</B>  2 <B> FROM TEAMSTATS</B>  3 <B> WHERE HITS/AB &lt; .35;</B>NUM_BELOW_350-------------            4</FONT></PRE><P>Would it make any difference if you tried a column name instead of the asterisk?(Notice the use of parentheses around the column names.) Try this:</P><H5>INPUT/<FONT COLOR="#000000">OUTPUT:</FONT></H5><PRE><FONT COLOR="#0066FF">SQL&gt; <B>SELECT COUNT(NAME) NUM_BELOW_350</B>  2<B>  FROM TEAMSTATS</B>  3 <B> WHERE HITS/AB &lt; .35;</B>NUM_BELOW_350-------------            4</FONT></PRE><P>The answer is no. The <TT>NAME</TT> column that you selected was not involvedin the <TT>WHERE</TT> statement. If you use <TT>COUNT</TT> without a <TT>WHERE</TT>clause, it returns the number of records in the table.</P><H5>INPUT/<FONT COLOR="#000000">OUTPUT:</FONT></H5><PRE><FONT COLOR="#0066FF">SQL&gt; <B>SELECT COUNT(*)</B>  2<B>  FROM TEAMSTATS;</B> COUNT(*)---------        6</FONT></PRE><H3><FONT COLOR="#000077">SUM</FONT></H3><P><TT>SUM</TT> does just that. It returns the sum of all values in a column. Tofind out how many singles have been hit, type</P><H5>INPUT:</H5><PRE><FONT COLOR="#0066FF">SQL&gt; <B>SELECT SUM(SINGLES) TOTAL_SINGLES  </B>2<B>  FROM TEAMSTATS;</B></FONT></PRE><H5><FONT COLOR="#000000">OUTPUT:</FONT></H5><PRE><FONT COLOR="#000000"></FONT></PRE><PRE><FONT COLOR="#0066FF">TOTAL_SINGLES-------------          174</FONT></PRE><P>To get several sums, use</P><H5>INPUT/<FONT COLOR="#000000">OUTPUT:</FONT></H5><PRE><FONT COLOR="#0066FF">SQL&gt; <B>SELECT SUM(SINGLES) TOTAL_SINGLES, SUM(DOUBLES) TOTAL_DOUBLES,SUM(TRIPLES) TOTAL_TRIPLES, SUM(HR) TOTAL_HR </B> 2 <B> FROM TEAMSTATS;</B>TOTAL_SINGLES TOTAL_DOUBLES TOTAL_TRIPLES TOTAL_HR------------- ------------- ------------- --------          174            32             5       29</FONT></PRE><P>To collect similar information on all 300 or better players, type</P><H5>INPUT/<FONT COLOR="#000000">OUTPUT:</FONT></H5><PRE><FONT COLOR="#0066FF">SQL&gt; <B>SELECT SUM(SINGLES) TOTAL_SINGLES, SUM(DOUBLES) TOTAL_DOUBLES,SUM(TRIPLES) TOTAL_TRIPLES, SUM(HR) TOTAL_HR  </B>2<B>  FROM TEAMSTATS  </B>3<B>  WHERE HITS/AB &gt;= .300;</B>TOTAL_SINGLES TOTAL_DOUBLES TOTAL_TRIPLES TOTAL_HR------------- ------------- ------------- --------          164            30             5       29</FONT></PRE><P>To compute a team batting average, type</P><H5>INPUT/<FONT COLOR="#000000">OUTPUT:</FONT></H5><PRE><FONT COLOR="#0066FF">SQL&gt; <B>SELECT SUM(HITS)/SUM(AB) TEAM_AVERAGE  </B>2<B>  FROM TEAMSTATS;</B>TEAM_AVERAGE------------   .33706294</FONT></PRE><P><TT>SUM</TT> works only with numbers. If you try it on a nonnumerical field, youget</P><H5>INPUT/<FONT COLOR="#000000">OUTPUT:</FONT></H5><PRE><FONT COLOR="#0066FF">SQL&gt; <B>SELECT SUM(NAME) </B> 2<B>  FROM TEAMSTATS;</B>ERROR:ORA-01722: invalid numberno rows selected</FONT></PRE><P>This error message is logical because you cannot sum a group of names.<H3><FONT COLOR="#000077">AVG</FONT></H3><P>The <TT>AVG</TT> function computes the average of a column. To find the averagenumber of strike outs, use this:</P><H5>INPUT:</H5><PRE><FONT COLOR="#0066FF">SQL&gt; <B>SELECT AVG(SO) AVE_STRIKE_OUTS </B> 2<B>  FROM TEAMSTATS;</B></FONT></PRE><H5><FONT COLOR="#000000">OUTPUT:</FONT></H5><PRE><FONT COLOR="#000000"></FONT></PRE><PRE><FONT COLOR="#0066FF">AVE_STRIKE_OUTS---------------      16.166667</FONT></PRE><P>The following example illustrates the difference between <TT>SUM</TT> and <TT>AVG</TT>:</P><H5>INPUT/<FONT COLOR="#000000">OUTPUT:</FONT></H5><PRE><FONT COLOR="#0066FF">SQL&gt; <B>SELECT AVG(HITS/AB) TEAM_AVERAGE  </B>2 <B> FROM TEAMSTATS;</B>TEAM_AVERAGE------------   .26803448</FONT></PRE><H5>ANALYSIS:</H5><P>The team was batting over 300 in the previous example! What happened? <TT>AVG</TT>computed the average of the combined column hits divided by at bats, whereas theexample with <TT>SUM</TT> divided the total number of hits by the number of at bats.For example, player A gets 50 hits in 100 at bats for a .500 average. Player B gets0 hits in 1 at bat for a 0.0 average. The average of 0.0 and 0.5 is .250. If youcompute the combined average of 50 hits in 101 at bats, the answer is a respectable.495. The following statement returns the correct batting average:</P><H5>INPUT/<FONT COLOR="#000000">OUTPUT:</FONT></H5><PRE><FONT COLOR="#0066FF">SQL&gt; <B>SELECT AVG(HITS)/AVG(AB) TEAM_AVERAGE </B> 2 <B> FROM TEAMSTATS;</B></FONT></PRE><PRE><FONT COLOR="#0066FF">TEAM_AVERAGE------------   .33706294</FONT></PRE><P>Like the <TT>SUM</TT> function, <TT>AVG</TT> works only with numbers.<H3><FONT COLOR="#000077">MAX</FONT></H3><P>If you want to find the largest value in a column, use <TT>MAX</TT>. For example,what is the highest number of hits?</P><H5>INPUT:</H5><PRE><FONT COLOR="#0066FF">SQL&gt; <B>SELECT MAX(HITS) </B> 2 <B> FROM TEAMSTATS;</B></FONT></PRE><H5><FONT COLOR="#000000">OUTPUT:</FONT></H5><PRE><FONT COLOR="#000000"></FONT></PRE><PRE><FONT COLOR="#0066FF">MAX(HITS)---------       70</FONT></PRE><P>Can you find out who has the most hits?</P><H5>INPUT/<FONT COLOR="#000000">OUTPUT:</FONT></H5><PRE><FONT COLOR="#0066FF">SQL&gt; <B>SELECT NAME</B>  2<B>  FROM TEAMSTATS</B>  3<B>  WHERE HITS = MAX(HITS);</B>ERROR at line 3:ORA-00934: group function is not allowed here</FONT></PRE><P>Unfortunately, you can't. The error message is a reminder that this group function(remember that <I>aggregate functions</I> are also called <I>group functions</I>)does not work in the <TT>WHERE</TT> clause. Don't despair, Day 7, &quot;Subqueries:The Embedded <TT>SELECT</TT> Statement,&quot; covers the concept of subqueries andexplains a way to find who has the <TT>MAX</TT> hits.</P><P>What happens if you try a nonnumerical column?</P><H5>INPUT/<FONT COLOR="#000000">OUTPUT:</FONT></H5><PRE><FONT COLOR="#0066FF">SQL&gt; <B>SELECT MAX(NAME) </B> 2 <B> FROM TEAMSTATS;</B></FONT></PRE><PRE><FONT COLOR="#0066FF">MAX(NAME)---------------WORLEY</FONT></PRE><P>Here's something new. <TT>MAX</TT> returns the highest (closest to Z) string.Finally, a function that works with both characters and numbers.<H3><FONT COLOR="#000077">MIN</FONT></H3><P><TT>MIN</TT> does the expected thing and works like <TT>MAX</TT> except it returnsthe lowest member of a column. To find out the fewest at bats, type</P><H5>INPUT:</H5><PRE><FONT COLOR="#0066FF">SQL&gt; <B>SELECT MIN(AB)  </B>2 <B> FROM TEAMSTATS;</B></FONT></PRE><H5><FONT COLOR="#000000">OUTPUT:</FONT></H5><PRE><FONT COLOR="#000000"></FONT></PRE><PRE><FONT COLOR="#0066FF">MIN(AB)---------        1</FONT></PRE><P>The following statement returns the name closest to the beginning of the alphabet:</P><H5>INPUT/<FONT COLOR="#000000">OUTPUT:</FONT></H5><PRE><FONT COLOR="#0066FF">SQL&gt; <B>SELECT MIN(NAME)</B>  2<B>  FROM TEAMSTATS;</B>MIN(NAME)---------------CASEY</FONT></PRE><P>You can combine <TT>MIN</TT> with <TT>MAX</TT> to give a range of values. Forexample:</P><H5>INPUT/<FONT COLOR="#000000">OUTPUT:</FONT></H5><PRE><FONT COLOR="#0066FF">SQL&gt; <B>SELECT MIN(AB), MAX(AB) </B> 2<B>  FROM TEAMSTATS;</B> MIN(AB)  MAX(AB)-------- --------       1      187</FONT></PRE><P>This sort of information can be useful when using statistical functions.<BLOCKQUOTE>	<P><HR><FONT COLOR="#000077"><B>NOTE:</B></FONT><B> </B>As we mentioned in the introduction,	the first five aggregate functions are described in the ANSI standard. The remaining	aggregate functions have become de facto standards, present in all important implementations	of SQL. We use the Oracle7 names for these functions. Other implementations may use	different names. <HR></BLOCKQUOTE><H3><FONT COLOR="#000077">VARIANCE</FONT></H3><P><TT>VARIANCE</TT> produces the square of the standard deviation, a number vitalto many statistical calculations. It works like this:</P><H5>INPUT:</H5><PRE><FONT COLOR="#0066FF">SQL&gt; <B>SELECT VARIANCE(HITS) </B> 2 <B> FROM TEAMSTATS;</B></FONT></PRE><H5><FONT COLOR="#000000"><B>OUTPUT:</B></FONT></H5><PRE><FONT COLOR="#000000"><B></B></FONT></PRE><PRE><FONT COLOR="#0066FF">VARIANCE(HITS)--------------     802.96667</FONT></PRE><P>If you try a string</P><H5>INPUT/<FONT COLOR="#000000">OUTPUT:</FONT></H5><PRE><FONT COLOR="#0066FF">SQL&gt; <B>SELECT VARIANCE(NAME)</B>  2<B>  FROM TEAMSTATS;</B>ERROR:ORA-01722: invalid numberno rows selected</FONT></PRE><P>you find that <TT>VARIANCE</TT> is another function that works exclusively withnumbers.<H3><FONT COLOR="#000077">STDDEV</FONT></H3><P>The final group function, <TT>STDDEV</TT>, finds the standard deviation of a columnof numbers, as demonstrated by this example:</P><H5>INPUT:</H5><PRE><FONT COLOR="#0066FF">SQL&gt; <B>SELECT STDDEV(HITS) </B> 2<B>  FROM TEAMSTATS;</B></FONT></PRE><H5><FONT COLOR="#000000"><B>OUTPUT:</B></FONT></H5><PRE><FONT COLOR="#000000"><B></B></FONT></PRE><PRE><FONT COLOR="#0066FF">STDDEV(HITS)------------   28.336666</FONT></PRE><P>It also returns an error when confronted by a string:</P>

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
欧美xfplay| 日本免费新一区视频| 日韩欧美视频一区| 在线播放中文字幕一区| 日韩视频在线观看一区二区| 日韩精品国产精品| 欧美疯狂性受xxxxx喷水图片| 成人av在线观| 欧美剧情片在线观看| 亚洲一区二区三区四区在线免费观看 | 日韩一区二区电影网| 青青草原综合久久大伊人精品| 5566中文字幕一区二区电影 | 日韩欧美国产一区二区在线播放| 轻轻草成人在线| 国产亚洲短视频| 免费看黄色91| 91在线国产观看| av电影在线观看不卡| 色94色欧美sute亚洲线路一久| 欧美精品日韩综合在线| 国产iv一区二区三区| 91国产丝袜在线播放| 中文欧美字幕免费| 99精品欧美一区| 亚洲一级二级在线| 日韩精品一区二区三区中文精品| 国产精品77777竹菊影视小说| 中文字幕一区二区三区精华液| 在线观看免费亚洲| 韩国av一区二区三区四区| 亚洲午夜精品网| 精品久久人人做人人爱| 91在线小视频| 国产米奇在线777精品观看| 综合色中文字幕| 欧美va日韩va| 色婷婷精品久久二区二区蜜臂av| 蜜桃精品视频在线观看| 成人欧美一区二区三区白人| 欧美一区二区三区在线观看视频| 成人免费观看男女羞羞视频| 日日摸夜夜添夜夜添亚洲女人| 欧美激情中文字幕一区二区| 欧美精品乱码久久久久久按摩| 国产成人精品网址| 免费av成人在线| 亚洲综合免费观看高清在线观看| 国产亚洲人成网站| 欧美一区午夜精品| 日韩中文字幕亚洲一区二区va在线| 国产成人综合亚洲91猫咪| 一级日本不卡的影视| 一本久道久久综合中文字幕| 国产欧美视频一区二区三区| 国产一本一道久久香蕉| 久久精品一区二区三区不卡牛牛| 精品在线播放午夜| 国产欧美日韩不卡| 日本韩国欧美在线| 欧美色国产精品| 欧美三日本三级三级在线播放| 国产一区二区成人久久免费影院| 日本强好片久久久久久aaa| 一区二区激情小说| 亚洲欧美日韩国产中文在线| 中文字幕一区二区日韩精品绯色| 久久网这里都是精品| 日韩欧美国产三级| 欧美精品色一区二区三区| 欧美日韩一区二区在线观看视频| 欧美日韩亚洲另类| 欧洲一区二区三区在线| 99视频一区二区三区| www.日韩av| av毛片久久久久**hd| 国产不卡一区视频| 国产99久久久精品| 成人短视频下载| 国产成人精品午夜视频免费| 丁香婷婷综合激情五月色| 国产99精品国产| 成人毛片老司机大片| 粉嫩aⅴ一区二区三区四区| 成人精品视频.| 成人动漫视频在线| 色香色香欲天天天影视综合网| 99国产精品国产精品毛片| 一本久道久久综合中文字幕 | 成人h动漫精品一区二| 成人丝袜视频网| 成人av免费网站| 99re热这里只有精品免费视频| 91在线视频观看| 欧美三级视频在线播放| 欧美酷刑日本凌虐凌虐| 日韩欧美激情四射| 久久精品人人爽人人爽| 国产精品欧美一区喷水| 亚洲黄网站在线观看| 亚洲午夜日本在线观看| 国产精品久久久久9999吃药| 国产日韩欧美综合一区| 一区二区三区免费网站| 亚洲综合在线第一页| 日韩理论片中文av| 亚洲人成在线播放网站岛国| 石原莉奈在线亚洲二区| 午夜激情一区二区| 九色综合狠狠综合久久| 麻豆国产精品视频| 国产盗摄视频一区二区三区| 在线免费亚洲电影| 91精品午夜视频| 欧美剧在线免费观看网站| 精品人在线二区三区| 久久婷婷国产综合精品青草| 中文字幕在线不卡| 丝袜诱惑制服诱惑色一区在线观看| 蜜桃一区二区三区在线观看| 播五月开心婷婷综合| 欧美精品色一区二区三区| 亚洲国产精品国自产拍av| 亚洲一区二三区| 成人福利电影精品一区二区在线观看| 欧美日韩国产欧美日美国产精品| 国产三级一区二区三区| 午夜精品久久久久久久99水蜜桃 | 成人18视频在线播放| 777色狠狠一区二区三区| 久久精品视频在线看| 亚洲午夜av在线| 国产伦精品一区二区三区免费 | 日韩精品亚洲专区| 风间由美中文字幕在线看视频国产欧美 | 一区二区国产视频| 国产suv精品一区二区883| 欧美高清视频www夜色资源网| 国产精品三级在线观看| 九九国产精品视频| 91网址在线看| 国产农村妇女毛片精品久久麻豆| 日韩精品成人一区二区在线| eeuss鲁片一区二区三区| 久久这里都是精品| 免费成人结看片| 欧美美女一区二区| 夜夜嗨av一区二区三区网页 | 国产日本欧洲亚洲| 久久精品国产77777蜜臀| 欧美日韩一二区| 亚洲欧美日韩国产中文在线| 成人a级免费电影| 国产日本欧美一区二区| 国产在线播精品第三| 日韩精品一区二区三区四区视频| 亚洲男人的天堂av| 色呦呦日韩精品| 成人免费视频视频在线观看免费 | 精品成人一区二区| 蜜桃av一区二区| 精品久久久久香蕉网| 国产毛片精品视频| 亚洲视频资源在线| 成人av网站在线观看免费| 一区二区三区四区蜜桃| 欧美最猛黑人xxxxx猛交| 欧美aaaaaa午夜精品| 日韩欧美一区在线| 天天色综合成人网| 777午夜精品视频在线播放| 亚洲高清久久久| 欧美精品日韩综合在线| 五月天精品一区二区三区| 欧美日韩在线一区二区| 午夜欧美一区二区三区在线播放| 欧美日韩aaaaa| 亚洲r级在线视频| 欧美一级xxx| 精品在线一区二区| 日本一二三不卡| 色狠狠一区二区| 日日夜夜免费精品视频| 日韩欧美国产综合| 国产91精品入口| 亚洲视频免费看| 欧美日韩国产一区| 免费视频最近日韩| 久久久亚洲午夜电影| jizz一区二区| 性做久久久久久免费观看| 欧美一级xxx| 成人一二三区视频| 一区二区三区资源| 日韩精品一区二区三区中文不卡| 国产乱码一区二区三区| 日韩毛片高清在线播放| 欧美久久久一区| 国产一区免费电影| 成人欧美一区二区三区小说|