單錶查詢就是查詢的範圍只是乙個table,我們對其中的某乙個字段,或者多個字段進行查詢返回,查詢的時候還可以滿足一定的條件。
下面我們就按照實際的問題,來學習一下單錶查詢。
首先,原始的是乙個student表,其中有如下幾個字段:
學號:snum
姓名:sname
年齡:sage
性別:s***
院系:department
課程:course
分數:score
create table student(snum int(5), sname varchar(10), sage int(5), s*** char(5), department varchar(10), course varchar(10), score int(10), primary key(snum));
如下:
從上圖可以看出,student表總共含有10條資料,每個資料有7個字段。我們把snum做為主鍵,所以即使我原始匯入資料不是按照學號排序的,在我匯入資料庫之後,資料庫也會按照主鍵欄位來排序,從1~10排列好。
我們後面的所有題目,除非特別修改資料庫之外,都是預設按照這個student表來查詢的。
1. 查詢所有學生的學號和姓名
把需要查詢的字段放在select子句後面,from後面規定查詢的表範圍。
2. 在查詢欄位中加入算術計算
上面就是在查詢欄位sage中使用2015-sage,計算了所有人的出生年份,也就是在查詢欄位中加入算術計算公式。而且,我們發現相應的欄位名字也變成了「2015-sage」。
3. 改變欄位的顯示名稱
如上圖所示,我們只需要在查詢的字段後面加入需要顯示的名稱即可,注意:中間用乙個空格隔開即可。
4. 小寫字母顯示資料
select lower(department) from student;
由於本博文基於的是中文資料,所以沒有實際顯示效果圖,不過命令是沒有問題的。注意mysql中是lower函式表示小寫字母轉換,有些資料庫系統中可能不是這個函式,需要注意一下。
5. 消除欄位中重複的值
需要使用distinct,把這個約束加在字段的最前面。說是最前面,就是所有欄位的前面,select的後面。因為distinct的作用是其後面的所有字段。如下圖:
上圖中需要唯一的是(snum, department)這個pair,顯然所有的資料中沒有乙個是具有相同的這種pair的,所以就返回了所有。記住:distinct的作用範圍是其後面的所有字段。
6. where引起查詢條件
where後面可以接查詢條件,其中包括:
7. where中確定查詢數值範圍
我們可以使用between and 這樣的句式來指定比較的數值範圍。還可以使用in 和not in來確定是否在比較的集合中。
mysql資料庫筆記(三) 查詢資料 單錶查詢
查詢語法 語法格式 select column name,column name from table name 查詢emp表中資訊 查詢單個列 查詢員工的員工編號號資訊 select id from s emp 查詢多個列 查詢員工的員工編號,姓名和工資資訊 select id,last name...
資料庫(4)查詢
基本語法 select from 表名 消除重複行 select distinct from table 使用where子句對錶中的資料篩選,結果為true的行會出現在結果集中 select from 表名 where 條件 比較運算子 等於 大於 大於等於 小於 小於等於 不等於 或 查詢編號大於...
資料庫 Oracle學習筆記(4)
select from emp 查詢表中所有列 select ename,sal from emp 查詢表中ename列,和sal列 select concat ename,的工資是 from emp smith的工資是 smith的工資是 sal smith的工資是800 select conca...