select
select 列名稱 from 表名稱;
sql語句是不區分大小寫的,而且會忽略空格,語句可以一行給出,也可以分成多行。
顯然分成多行,且使用大寫將關鍵字與表名列名等區分開更容易閱讀和除錯。
另外每個sql語句必須以分號結尾。
select id,name
from students;
select *
from students;
可使用order by
子句來根據需要排序檢索出的資料。
這裡有乙個子句的概念:
sql語句由子句構成,有的子句是必需的,而有的可選,乙個子句通常由乙個關鍵字加上所提供的資料組成。如select和from子句。要注意的是
order by
子句的位置:
在指定一條order by子句時,必須保證它時最後乙個sql子句,否則會報錯。
select *
from students
order
by id;
select *
from students
order
by age,id;
這樣會首先依據age進行排序,如果有幾項的age相同,那麼會再依據id排序。
select *
from students
order
by1;
可以指定使用第幾列進行排序,上面的語句指定了第一列。
對某列指定desc
關鍵字表明按此列降序排列,相反的asc
關鍵字表示公升序,這是預設的,無須指定。
select *
from students
order
by age desc,id;
select id,name
from students
where id<10;
上面的語句過濾出id<10的記錄。
mariadb中的where子句支援如下操作符:
操作符說明=等於
!=不等於
<>
不等於<
小於<=
小於等於
>
大於》=
大於等於
between
在指定的兩個值之間
is null
為null值
select *
from students
where id between 5
and10;
使用between時必須指定兩個值——最小值和最大值,between匹配範圍內所有的值,包括指定的最小值和最大值。
即上面的語句等價於:
select *
from students
where id id>=5
and id<=10;
select *
from students
where id age is
null;
在建立表時,表設計人員可以指定其中的列是否可以不包含值,當乙個列不包含值時,稱其包含空值null
。它與包含零值、空字串或僅僅包含空格不同。
上面已經涉及到,and
表示邏輯與,or
表示邏輯或
select *
from students
where id id>=5
and id<=10;
```
select *
from students
where id id=2
or id=3;
where
子句可以組合任意數量的and
和or
,但一定要注意兩者運算優先順序不同,sql會先計算and
再計算or
。
使用括號來避免這一問題。
in
操作符用來指定條件範圍,範圍中的每個條件都可以匹配。in
的合法值是由逗號分隔的清單,全部括在圓括號中。
select *
from students
where name in ('xiaoming','xiaohong')
order
by id;
where
子句中的not
操作符只有乙個功能,即否定它之後所跟的條件,相當於邏輯否。
select *
from students
where name not
in ('xiaoming','xiaohong')
order
by id;
SQL資料過濾基本用法
sql中的資料過濾主要應用where語句,並結合一系列的運算子 邏輯運算和萬用字元過濾實現對資料的過濾。運算子的種類 等於,注意不要寫成了 不等於,與 一致 不等於 小於 小於等於 不小於,與 一致 大於 大於等於 不大於,與 一致 between and 使用類似於英語語法,between 數字1...
第3課 排序檢索資料
第3課 排序檢索資料 1.排序資料 使用sql語句檢索的資料是沒有特定順序的,在不指定排序的情況下,資料一般會按照其在表 現的順序顯示。為了按自己指定的方式排序顯示資料,可以使用order by 關鍵字。無排序資料 有排序資料 預設為公升序 注意 在指定一條 order by 子句時,應該保證它是s...
SQL基本操作之過濾資料
sql基本操作之過濾資料 where子句操作符 我們一般不會想獲得所有行的列值,而是選取我們所需要的 sql提供了where子句實現過濾資料的功能 如在customers表中提取使用者名為fun4all的列 單引號代表字串 select from customers where cust name ...