SQL(1)

來源:互聯網
上載者:User
SQL

結構化查詢語言 (SQL)SQL( Struceured Query Languang)一直是關聯式資料庫管理系統(RDBMS)的標準語言

 

集DDL,DML,DCL於一體,

 

資料查詢 與 資料操縱

SELECT [ALL|DISTINCT]<目標運算式>[,目標運算式]……

FROM<表名>[,表名]

WHERE<條件運算式>

ORDER BY <列名>[ASC|DESC]

 

單表查詢

建立資料庫studentinfo,

 

建立資料庫表 student (學生基本資料表)

建立欄位(列),sno,sname,ssex,sage,sdept

 

建立資料庫表 sc (學生選課表)

建立欄位,id,sno,cno,grade

 

查詢表中若干列

1查詢指定的列

例1          查詢全體學生的學號與姓名。

SELECT sno,sname FROM student

例2  查詢全體學生的名稱、學號、所在系

      SELECT studentname,studentno,sdepartment FROM student;

例3  查詢全體學生詳細記錄

      SELECT * FROM student

      等價於

      SELECT * sno,sname,ssex,sage,sdept FROM student

例 4 查詢全體學生的姓名以及出生年份

      SELECT Sname,2006-sage FROM student;

 

查詢表中若干元組

 

1 消除重複的資料

 

查詢選修課程的所有學生學號

  SELECT sno FROM sc

  這樣會包含一些重複資料,如何消除呢?

  使用DISTINCT

  SELECT DISTINCT sno FROM sc

 

查詢滿足條件的資料

 

比較      =  ,  >  ,<  ,  >=  ,  <= ,  !=  ,  <>  ,  !>  !< ; NOT +比較子

確定範圍  BETWEEN AND ,NOT BETWEEN AND

確定集合  IN,NOT IN

字元匹配  LIKE, NOT LIKE

空值      IS NULL,IS NOT NULL

多重條件  AND, OR

 

例5 查詢 電腦系所有學生名單

     SELECT Sname , FROM student WHERE Sdept = ‘CS’;

例6 查詢年齡在20以下的學生姓名及其年齡

     SELECT Sname , Sage , FROM student WHERE sage <20;

確定範圍ie

BETWEEN…AND 和 NOT BETWEEN….AND

 

例7 查詢年齡在20-23歲之間的學生姓名、系別和年齡。

SELECT sname , sdept,sage  FROM student WHERE  sage BETWEEN 20 AND 23

 

確定集合

IN可以查詢值屬於指定集合的資料

 

例8 查詢資訊系(is) 與電腦系(cs)學生的姓名與性別

 

SELECT sname,ssex FROM student WHERE sdept IN(‘is’,’cs’);

 

字元匹配

LIKE 和 NOT LIKE 用於字串的匹配。其中可以包含萬用字元_和%

%代表任意長度

_代表一個字元

例9 查詢學號為06001的學生所有資料

SELECT * FROM student where sno LIKE ‘95001’;

例10 查詢所有姓劉的學生姓名、學號和性別

      SELECT sname,sno,ssex WHERE sname LIKE ‘劉%’

例 11 查詢姓”歐陽”並且三個漢字的學生姓名

      SELECT sname FROM student WHERE sname LIKE ‘歐陽_ _’

 

多重條件查詢

AND 和 OR可用來串連多個查詢條件

例12 查詢所有電腦系年齡在20以下的學生

SELECT sname FROME student WHERE sdept=’cs’ and sage<20;

例 13 查詢是電腦系的或者是資訊系的所有學生姓名和性別

SELECT sname,ssex FROM student WHERE sdept=’cs’ OR sdept=’is’

 

對查詢結果排序(ORDER BY)

ORDER BY 對查詢結果按照一個欄位的升序(ASC)或降序(DESC)排列,預設為升序

 

例14  查詢選修了3號課的學生學號以及成績,查詢結果按照分數的降序排列

SELECT  sno,grade FROM sc where cno=’3’ ORDER BY grade DESC;

 

使用函數

COUNT   統計資料條數

SUM      計算某一列值得總和

AVG      計算某一列值得平均值

MAX     求某一欄位中最大值

MIN      求某一欄位的最小值

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.