SQL中的查詢排序


一、SQL基礎查詢
1、select語句
格式:select字段from表名;

2、where 用於限制查詢的結果

3、查詢條件> < >= <= = !=

4、與 或(AND,OR)

5、在 不在(IN,NOT IN)

6、在[a,b] (between val1 and val2)

7、空 非空(NULL,NOT NULL)

8、全部 任一(ALL,ANY)
不能單獨使用,必須與關系運算符配合

9、排重DISTINCT
用在字段之前


二、排序
1、使用 ORDER BY 語句
格式:select 字段 from 表名 where 條件 ORDER BY 字段;

2、設置升序降序(ASC,DESC)
格式:select 字段 from 表名 where 條件 ORDER BY 字段 ASC|DESC

3、多項排序
格式:select 字段 from 表名 where 條件 ORDER BY 字段 ASC|DESC,字段ASC|DESC

三、聚合函數
注意:在使用比較運算符時NULL為最大值,在排序時也會受影響
把 select 語句的查詢結果匯聚成一個結果,這樣的函數叫聚合函數
1、MAX\MIN
獲取最大值和最小值,可以是任何數據類型,但只能獲取一個字段

2、AVG\SUM
獲取平均值、總和
nvl(salary,0)

3、COUNT
統計記錄的數量

四、分組
1、GROUP BY
格式:select 組函數 from 表 group by 字段

2、HAVING 組判斷條件
它的真假決定一組數據是否返回

五、查詢語句的執行順序
1、格式:select sum(salary) from 表名 where bool order by group by
  a、from 表名,先確定數據的來源
  b、where 確定表中的哪些數據有效
  c、group by 字段名,確定分組的依據
  d、having 確定組數據是否返回
  e、order by 對組數據進行排序

六、關聯查詢
1、多表查詢
select 字段 from 表1,表2 where;
2、多表查詢時有相同字段怎么辦
    1、表名.字段名
  2、表名如果太長,可以給表起別名 (from 表 別名)
3、笛卡爾積
  a、8條數據
  b、9條數據
在多表查詢時,一定要設置where 條件,否則將得到笛卡爾積


七、連接查詢
當使用多表進行關聯查詢時,根據設置的條件會得到不同的結果
1、內連接查詢:左右兩邊能匹配上的
select last_name ,name from s_emp,s_dept where dept_id=s_dept.id
2、外連接:左右兩邊不能匹配的數據
select last_name ,name from s_emp left|right|full outer join s_dept on dept_id=s_dept.id
3、左外連接
匹配成功的數據+左表不能匹配的數據
4、右外連接
匹配成功的數據+右表不能匹配的數據
5、全外連接
匹配成功的數據+左右表不能匹配的數據




免責聲明!

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



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