SQL中SELECT語句詳解


簡單查詢SELECT-FROM

作者:葉清逸
來源:CSDN
原文:https://blog.csdn.net/u013634252/article/details/80569386

用於無條件查詢單張表中的行或列

假設有表如圖所示
這里寫圖片描述

  • 查詢名字叫 ‘葉清逸’ 的記錄:

 

select * from T_USER where u_name = '葉清逸' 

查詢結果:
這里寫圖片描述

  • 查詢一個或多個屬性,u_name,u_age,u_score:

 

select u_name,u_age,u_score from T_USER ;

 查詢結果:
這里寫圖片描述

AS關鍵字

  • 使用AS給查詢結果取別名(AS也可以省略):
  • --可加""也可不加 如果不加雙引號默認字母大寫 如果需要小寫字母或別名由多個字母組成則需要加上雙引號。
    --AS也可省略。
    select 
    u_name as 名字,
    u_age as "年齡" , 
    u_score 成績
    from T_USER ;
    

    查詢結果:
    這里寫圖片描述

    算數運算符

      • SELECT中可以對數字和日期進行加減乘除運算
1 select u_name , u_score , u_score+10 , u_score-10 , u_score*2 , u_score/2 
2 from T_USER ;

運行結果:
這里寫圖片描述

連接符 “||”

SQL中的連接符”||” 可將結果連接起來為一列
- 將u_name 和“的成績為” u_score 連接起

1 select 
2 u_name || '的成績為' || u_score as 成績
3 from T_USER ;

查詢結果:
這里寫圖片描述
條件查詢SELECT-WHERE

SQL中可以用SELECT-WHERE進行條件查詢
比較運算 ‘<’ ‘<=’ ‘>’ ‘>=’ ‘!=’

SQL中可以使用 條件運算符 ‘<’ ‘<=’ ‘>’ ‘>=’ ‘!=’ 過濾查詢結果中的某些行,多個條件之間可以用 ‘and’ 連接。
- 查詢T_USER表中成績大於等於60分的學生

1 select u_name , u_score
2 from T_USER 
3 where u_score >= 60 ;

查詢結果:
這里寫圖片描述

與條件 (AND,BETWEEN)

查詢A-B區間

    • 查詢T_USER表中成績大於等於60分且小於等於80分的學生
    • AND寫法
1 select u_name , u_score
2 from T_USER 
3 where u_score >60 and u_score <80

BETWEEN寫法

1 select u_name , u_score
2 from T_USER 
3 where u_score between 60 and 80 ;

查詢結果:
這里寫圖片描述

或條件(OR,IN)

SQL中用於或運算的關鍵字OR和IN

    • 查詢分數大於90分或者小於60分的記錄-OR
1 select u_name , u_score
2 from T_USER 
3 where u_score >90 or u_score <60 ;

運行結果:
這里寫圖片描述
- 查詢成績為100,98,65的學生-IN

1 select u_name , u_score
2 from T_USER 
3 where u_score in(100,98,65) ;

運行結果:
這里寫圖片描述

非條件(!=,NOT)

    • 查詢名字不叫 ‘葉清逸’ 的記錄
    • !=寫法
1 select *
2 from T_USER 
3 where u_name != '葉清逸' ;

NOT寫法

1 select *
2 from T_USER 
3 where u_name not like '葉清逸' ;

查詢結果:
這里寫圖片描述

模糊查詢LIKE

SQL中可以使用模糊查詢like,其中 ‘_’ 占一位 ‘%’占多位。

    • 查詢名字中有 ‘清’ 字的記錄
    • 可以有三種表示方式,結果等價
      1. 包含’清’: %清%
      2. 第二位為’清’:_清%
      3. 倒數第二位為’清’:%清_
1 select *
2 from T_USER 
3 where u_name like '%清%' ;

查詢結果:
這里寫圖片描述
注:若要查詢數據含有’_’ 關鍵字 則需使用 escape定義一個轉義字符。如:like ‘%#_%’ escape ‘#’
查詢排序ORDER BY

SQL中可以對查詢結果進行排序,DESC表示按從大到小排序,ASC表示按從小到大排序,默認為從小到大排序。
- 將T_USER表按成績從大到小排序

1 select *
2 from T_USER 
3 order by u_score desc ;

查詢結果:
這里寫圖片描述

ORDER BY 語句也可以用逗號隔開,表示如果上一個條件相同,接下來的排序方式。

---------------------
作者:葉清逸
來源:CSDN
原文:https://blog.csdn.net/u013634252/article/details/80569386


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM