SQL基礎篇 select語句與排序問題

2022-08-09 00:24:20 字數 4049 閱讀 6865

一、檢索--輸出所有的列

select

*from

my_friends

where

first_name =

'cake

';

知識點1      

* 代表選擇出所有的行-----(什麼行呢?)就是first_name =『cake』的行。整個語句的意思就是從my_friends的表中,檢索出first_name = 'cake' 的行,並全部顯示!

注意:1.文字類的資料型別的值需要加上單引號,非文字類的資料型別的值不需加單引號(規則跟insert插入數值的時候一樣)

愛用單引號:char,varchar,data,datatime,blog

拒絕用單引號:dec,int    

(如果文字資料型別的 資料需要用到單引號' 時,需要用 \'來代替  ')

2.如果where後面的列是非文字類的資料型別,可以使用 『<』 和 『>』 檢索出 對應範圍的值。

注意:a.不等於有兩種表示方式  <> 和 !=  

b.等號可以結合 < 或者 >使用,如:<= 或者 >= 

c.可以使用關鍵字 between 代替>=<=表示數值區間(注意是<=、>=,而不是 < 、>),如:

select

* from

my_friends

where

age between

15and

30; --注意:between 規定,必須按順序,從小到大!不可以是between 30 and 15

知識點2  and 和 or

要是想要滿足多乙個條件呢?可以更進一步檢索滿足多個條件下的序列(或多步,多步也就是增加and條件而已...)

select

*from

my_friends      

where

last_name

=『lily』

and last_name =

'wang

';

整理一下,就是當表 my_friends 中的列 last_name = 'lily'而且 first_name = 'wang' 時,輸出所有的列

存在「與」 ,「與」用and 表示 ,那也肯定存在著「或」,「或」用 or 表示!

當需要使用多個 『or』 的時候,程式會顯得很累贅,所以聰明的sql 衍生出了 關鍵字 『in』 來解決這個問題! 

select *from

my_friends      

where

interest

=『baskball』

orinterest ='

running'or

interest ='

swimming'or

...;

--------->>

select

*from

my_friends      

where

interest

in ( 『baskball』,'

running

','swimming

'); ---在這裡 in是包含的意思

另外,in 意為 包含。 not in意為 不包含select

*

from

* my_friends      

where

interest

notin (『baseball'

);

知識點3  not的使用

1.not也可以和between 或者 like 一起使用,在使用時,not 一定要緊接在 where 後面。但是not in 是個例外,而且即使把not移到 where 後一可以運作(以下程式等效上程式)

select

*from

my_friends      

where

not interest in (『baseball'

);

2.not和and或or一起使用時,要直接接在and或者or後面!記得哦!!!

select

*from

my_friends      

where

not age between

1and15;

select

last_name

from

my_friends

where

not first_name like'%w

'    --

andnot first_name like'%l

';

知識點4

有乙個巨大的問題來了,如果我找的資料是 null 呢? 應該怎麼去尋找,畢竟 null != null 呀

解決辦法肯定是多於問題的!

select phone    --

選擇列的名稱

from my_friends      --

從表中where e-mail is

null;

is null是關鍵字!

二、檢索--輸出特定的序列(過濾資料)

select

status    --選擇輸出的列的名稱

from

my_friends      --從表中

where last_name = 『lily』;  --當last_name = 'lily'時

整理一下,就是當表 my_friends 中的列 last_name = 'lily'時,輸出列 status

三、檢索--文字型相同的部分

select

*from my_friends      --

從表中where last_name like

= 『l%;  --

當last_name 以l開頭時

上面程式表達的是,檢索my_friend中的 last_name 的列,輸出以『l』開頭的所有行

知識點6

萬用字元---

必須配合 文字型資料型別使用

%   ---百分號 是任意數量的未知字元的替身

_    ----下劃線 是乙個未知字元的替身

select

*from my_friends      --

從表中where last_name like

= 『_l%;  --

當last_name 以'xl'開頭時,x 為任意字元

四、按一定的順序排列

知識點7 orderby--公升序

select lunch from

my_foods

where breakfast =

'milk

'order

by id,lunch;  --id是排序用到第一列,lunch是排序用的第二列(根據第一列排列完成才會進行第二列的排列)

order by 的排列順序:

null --鍵盤左到右的符號--數字--字母(大寫》小寫)

知識點8  desc--降序

反轉順序排列

select lunch from

my_foods

where breakfast =

'milk

'order

by id desc;

desc 是 descending的縮寫,相對的有asc,也可以用這個代表公升序

SQL 基礎語句select

sql語句分類 資料查詢語言 date query language,dql.負責資料查詢而不會對資料本身進行修改的語句,核心指令是select,輔助指令from,where,group by和order by.資料定義語言 date definition language,ddl.負責資料結構定義...

SQL語句 常用(基礎篇)

sql structured query language 結構化查詢語言,是用於訪問和處理資料庫的標準的計算機語言。sql 是一種 ansi american national standards institute 美國國家標準化組織 標準的計算機語言。select語句 select from ...

SQL查詢語句SELECT精華

一 簡單查詢 簡單的transact sql查詢只包括選擇列表 from子句和where子句。它們分別說明所查詢列 查詢的 表或檢視 以及搜尋條件等。例如,下面的語句查詢testtable表中姓名為 張三 的nickname欄位和email欄位。select nickname,email from ...