<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                # 前言 每次面試必考SQL,小編這幾年一直吃SQL的虧,考題無非就是萬年不變學生表,看起來雖然簡單,真正寫出來,還是有一定難度。于是決定重新整理下關于SQL的面試題,也可以幫助更多的人過SQL這一關。 作為一個工作3年以上測試人員,不會sql基本上能拿到offer的希望渺茫,雖然平常也會用到數據庫,都是用的簡單的查詢語句。困難一點的就直接找開發了,面試想留個好印象,還是得熟練掌握,能在紙上快速寫出來。 * 1.查詢所有學生的數學成績,顯示學生姓名name, 分數, 由高到低 * 2.統計每個學生的總成績,顯示字段:姓名,總成績 * 3.統計每個學生的總成績(由于學生可能有重復名字),顯示字段:學生id,姓名,總成績 * 4.列出各門課程成績最好的學生, 要求顯示字段: 學號,姓名,科目,成績 * 5.列出各門課程成績最好的2位學生, 要求顯示字段: 學號,姓名, 科目,成績 ## **萬年不變學生表** 有2張表,學生表(student)基本信息如下 ![](https://img.kancloud.cn/7b/dd/7bddde959bbe4616f75b522ca88d2ace_519x280.png) 科目和分數表(grade) ![](https://img.kancloud.cn/6e/7d/6e7d27edc175fd7abf3b34189226262b_521x340.png) <br /> ### **排序order by** 1.查詢所有學生的數學成績,顯示學生姓名name, 分數, 由高到低 ~~~ SELECT a.name, b.score FROM student a, grade b WHERE a.id = b.id AND kemu = '數學' ORDER BY score DESC ~~~ ![](https://img.kancloud.cn/12/e3/12e344a3a39429493afe8b38316d4a5e_541x282.png) <br /> ### **統計總成績sum** 2.統計每個學生的總成績,顯示字段:姓名,總成績 ~~~ SELECT a.name, sum(b.score) as sum_score FROM student a, grade b WHERE a.id = b.id GROUP BY name ~~~ ![](https://img.kancloud.cn/22/7a/227a40714db8edded81aeabc4a81dde0_602x293.png) <br /> ### **統計總成績** 3.統計每個學生的總成績(由于學生可能有重復名字),顯示字段:學生id,姓名,總成績 ~~~ SELECT a.id, a.name, sum(b.score) as sum_score FROM student a, grade b WHERE a.id = b.id GROUP BY name order by sum_score desc ~~~ **或者** ``` SELECT a.id, a.name, c.sum_score from student a, (SELECT b.id, sum(b.score) as sum_score FROM grade b GROUP BY id ) c WHERE a.id = c.id ORDER BY sum_score DESC ``` ![](https://img.kancloud.cn/96/b0/96b01a77a22e40f43ea150cb0ef0610f_601x304.png) <br /> ### **統計單科最好成績** 4.列出各門課程成績最好的學生, 要求顯示字段: 學號,姓名,科目,成績 第一步先group by找出單科最好成績,作為第一張表 ~~~ SELECT b.kemu, MAX(b.score) FROM grade b GROUP BY kemu ~~~ ![](https://img.kancloud.cn/59/bf/59bfb399275a10477e98fd1ad4bdb1ca_538x248.png) 再結合學生表和分數表,得到單科最好成績 ~~~ -- 單科最好的成績 SELECT c.id , a.name, c.kemu, c.score FROM grade c, student a, (SELECT b.kemu, MAX(b.score) as max_score FROM grade b GROUP BY kemu) t WHERE c.kemu = t.kemu AND c.score = t.max_score AND a.id = c.id ~~~ ![](https://img.kancloud.cn/37/81/37814ddbd8fb24bc2ae4102c6e0ea070_582x327.png) # 總結 group by相關用法 | 函數 | 作用 | 支持性 | | --- | --- | --- | | sum(列名) | 求和 | | | max(列名) | 最大值 | | | min(列名) | 最小值 | | | avg(列名) | 平均值 | | | first(列名) | 第一條記錄 | 僅Access支持 | | last(列名) | 最后一條記錄 | 僅Access支持 | | count(列名) | 統計記錄數 | 注意和count(\*)的區別 | ### 各門課程成績最好的2位學生 5.列出各門課程成績最好的2位學生, 要求顯示字段: 學號,姓名, 科目,成績 ~~~ SELECT t1.id, a.name, t1.kemu,t1.score FROM grade t1, student a WHERE (SELECT count(*) FROM grade t2 WHERE t1.kemu=t2.kemu AND t2.score>t1.score )<2 and a.id = t1.id ORDER BY t1.kemu,t1.score DESC ~~~
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看