數據庫筆記2-單表查詢

students
courses
reports

在sql server中(不區分大小寫):

1.單表無條件查詢

select * from students;

查找students中的全部數據,*是全部的意思,可以換成表中的某一列或多列;

select sname,2016-sage birthyear,lower(sno) lsno from students;

查找的同時可以計算,重新命名,控制大小寫;

select distinct sage from students;

查找出不重復的數據;

select count(distinct sdept),min(sage),max(sage),avg(sage) from students;

聚合函數 count,sum,avg,min,max分別計算列上值的個數,數值總和,平均值,最小值,最大值。

2.單表帶條件查詢。

select sname from students where sage between 18 and 20;
select sname from students where sage in(18,19,20);```

帶條件查詢的三種寫法。

```select sname from students where sname like '王%';
select sname from students where sname like '王____';```

模糊字符匹配,查找姓王的同學的全名。通配符%代表一個任意長度的字符串,_代表單個字符,一個漢字由兩個字符組成,所以此處加了四個字符串。

```select sname from students where sname not like '王%'; ```

當然也可以利用字符匹配查找不姓王的數據,只需在like前面加not。用'='的地方可以like替換,不過效率會降低。

```select cname from courses where cname like 'DB\_設%' escape '\';```

當要查詢的數據中確切的部分中含有通配符則應用escape進行轉義,如果不進行轉義,就會查找出無用的數據,比如要查找以"DB_"開頭,且倒數第2個漢字字符為“設”的課程的詳細情況。如果不進行轉義,就會出現如下情況:
![沒有轉義](http://upload-images.jianshu.io/upload_images/2670618-174c6b2b91ce4595.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)

```select sno,cno from reports where grade is  null;```

查找存在記錄但是空值的數據。這種方法不能全部找出沒有值的數據,因為沒有值也可能記錄成 'null'或'_'。

>3.分組查詢和排序查詢。

```select cno,avg(grade) from reports group by cno;```

group by 是分組查詢,把一個表按照一定列上值相等的原則分組,然后分別對每個組進行操作。分組查詢經常配合聚合函數一起使用,聚合函數在每個組中進行運算,然后每個組返回一個結果。

```select cno,avg(grade) group by cname having count(*)>=3;```

having子句用于group by后對每一組進行條件判斷,滿足having條件的組被選出來。

*【摘自網絡】*使用Group By子句的時候,一定要記住下面的一些規則:
1)不能Group By非標量基元類型的列,如不能Group By text,image或bit類型的列
2)**Select指定的每一列都應該出現在Group By子句中,除非對這一列使用了聚合函數;**
3)不能Group By在表中不存在的列;
4)進行分組前可以使用Where子句消除不滿足條件的行;
5)使用Group By子句返回的組沒有特定的順序,可以使用Order By子句指定次序。

```select * from students order by sdept asc,sage desc;```

order by查詢結果排序。查找所有學生信息,按系名升序,同一系的按年齡降序。desc是降序,asc是升序,沒寫的時候默認升序,升序把空值放在最后,降序把空值放在最前面。

>總結:無論怎樣寫查找語句,得到的結果都是一張表,所以寫語句時要注意你寫的能不能構成一張表。




最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 229,908評論 6 541
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 99,324評論 3 429
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 178,018評論 0 383
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,675評論 1 317
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 72,417評論 6 412
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,783評論 1 329
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,779評論 3 446
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,960評論 0 290
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,522評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 41,267評論 3 358
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,471評論 1 374
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 39,009評論 5 363
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,698評論 3 348
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 35,099評論 0 28
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 36,386評論 1 294
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 52,204評論 3 398
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,436評論 2 378

推薦閱讀更多精彩內容

  • DML語句 insert使用 先建一個表 insert 語法插入單行INSERT [INTO] <表名> [列名...
    I踏雪尋梅閱讀 531評論 0 1
  • 單表查詢 只在一個表中查詢數據 多表查詢 同時查詢多個表 說明:這是在學生表student和成績表SC中查詢成績大...
    愛撒謊的男孩閱讀 1,211評論 0 2
  • 數據庫中表與表相互關聯,很多時候要通過查詢多個表才能得到自己想要的數據。 在sql server中(不區分大小寫)...
    照照寒閱讀 1,025評論 0 2
  • 模式 定義模式實際上定義了一個命名空間,在這個空間中 可以進一步 定義該模式包含的數據對象,例如基本表,視圖,索引...
    iOS_愛OS閱讀 910評論 0 1
  • 一、INSERT插入 (一)語法 (二)敘述 如果表名后面沒寫字段名,則默認是向所有的字段添加值,另外字符串值應該...
    虞錦雯閱讀 338評論 0 1