日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

SQL语言(3)

發布時間:2025/3/20 数据库 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 SQL语言(3) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

SQL語言(3)

1.邏輯條件關系

邏輯條件組合兩個比較條件的結果來產生一個基于這些條件的單個的結果,或者逆轉一 個單個條件的結果。當所有條件的結果為真時,返回行。SQL的三個邏輯運算符:and、 or、not;
?And:要求兩個條件同時為真;
(以hr用戶中的employees為例)
例:查詢工作崗位包含字符串MAN并且收入大于等于10000的那些雇員的編號、工作 ID、名字以及薪水。
Select employee_id,job_id,last_name,salary from employees where job_id like ‘%MAN%’ and salary >= 10000;
?Or :要求兩者之一為真即可;
(以hr用戶中的employees為例)
例:查詢任何jobID中包含MAN或者收入大于等于10000的雇員編號、工作ID、名字 以及薪水;
Select employee_id,job_id,last_name,salary from employees where job_id like ‘%MAN%’ or salary >= 10000;
?Not:取反。Not運算符也可以用于另一個SQL運算符,例如between、like、in和null;
(以hr用戶中的employees為例)
例:查詢哪些工作崗位不是IT_PROG、ST_CLERK或SA_REP的雇員的名字和工作崗位;
Select last_name,job_id from employees where job_id not in(‘IT_PROG’,’ST_CLERK’,’SA_REP’);

2.優先規則

定義表達式求值和計算的順序;可以用圓括號括住想要先計算的表達式來覆蓋默認的優 先順序;
(以hr用戶中的employees為例)
例:1.查詢工作崗位是SA_REP或者工作崗位是AD_PRES并且薪水大于15000的員工姓 名、工作ID以及薪水;
2.查詢工作崗位是SA_PER或者是AD_PRES并且他們的薪水大于15000的員工姓名、 工作ID以及薪水;
 1.select last_name,job_id,salary from employees where job_id like ‘SA_REP’ or (job_id like ‘AD_PRES’ and salary >15000);
2.select last_name,job_id,salary from employees where (job_id like ‘SA_REP’ or job_id like ‘AD_PRES’) and salary >15000;

  • 使用order by 排序
  • 用于對結果集進行排序處理,提供了升序排序(ASC)與降序排序(DESC)如果不指定 排序規則,默認為升序排序、在排序中也可以使用沒有包括在select子句中的列排序。 如果未使用order by子句,排序次序就未定義,并且Oracle服務器可能對于相同查詢的 兩次執行取回行的順序不同。
    Order by語法;
    ?Order by子句在select語句的最后;
    ?Order by后側指定需要排序列;
    ?ASC以升序排序行(這是默認排序)
    ?DESC以降序排序行
    排序規則
    ASC(升序)
    ?對于數字值,小的值在前面顯示;例:1-999;
    ?對于日期,早的日期在前面顯示;例:01-1-92在01-1-95前(此為默認格式也有特殊情況例:1992/1/1在1995/1/1前);
    ?對于字符值,依字母順序顯示;例:A第一,Z最后。
    ?對于空值,顯示在最后;
    DESC(降序)與上訴相反;
    (以hr用戶中的employees為例)
    例:1.查詢employees表中所有員工的名字,入職日期,工資,傭金,并以工資排序(降 序,升序);
    2.查詢employees表中所有員工的名字,入職日期,工資,傭金,并以名字排序(降 序,升序);
    3.查詢employees表中所有員工的名字,入職日期,工資,傭金,并以入職日期排 序(降序,升序);
    4.查詢employees表中所有員工的名字,入職日期,工資,傭金,并以傭金排序(降 序,升序);
    5.查詢employees表中所有員工的名學,入職日期,工資,傭金,并以工作ID排序 (降序,升序);
     1.select last_name,salary,hire_date,commission_pct from employees order by salary asc;
    1.1 select last_name,salary,hire_date,commission_pct from employees order by salary desc;
    2.select last_name,salary,hire_date,commission_pct from employees order by last_name asc;
    2.1 select last_name,salary,hire_date,commission_pct from employees order by last_name desc;
    3.select last_name,salary,hire_date,commission_pct from employees order by hire_date asc;
    3.1 select last_name,salary,hire_date,commission_pct from employees order by hire_date desc;
    4.select last_name,salary,hire_date,commission_pct from employees order by commission_pct asc;
    4.1 select last_name,salary,hire_date,commission_pct from employees order by commission_pct desc;
    5.select last_name,salary,hire_date,commission_pct from employees order by job_id asc;
    5.1 select last_name,salary,hire_date,commission_pct from employees order by job_id desc;
    也可以使用列的別名排序
    (以hr用戶中的employees為例)
    例:查詢employees表中所有員工的名字并將列名指定為name,入職日期,工資,傭 金,并以名字排序(降序,升序);
    1.select last_name name,salary,hire_date,commission_pct from employees order by name asc;
    1.1select last_name name,salary,hire_date,commission_pct from employees order by name desc;
    多列排序
    可以用多列排序查詢結果。在order by 子句中,多個指定的列名之間用逗號分開。 在第一個列值相同時,會按照第二個列進行排序;如果想要對某一個列進行倒序排 需要在該列名后指定desc;
    (以hr用戶中的employees為例)
    例:查詢employees表中說有員工的入職時間和工資,并以入職時間和工資進行排序; (升序,降序)、(降序,升序);
    1.Select hire_date,salary from employees order by hire_date,salary;
    1.1 Select hire_date,salary from employees order by hire_date,salary desc;
    Select語句的執行順序
    From子句==>where子句==>select子句==>order by子句

    總結

    以上是生活随笔為你收集整理的SQL语言(3)的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。