第10章 模糊查詢和聚合函式

2022-08-24 17:57:11 字數 1245 閱讀 9603

use myschool

萬用字元

%:匹配0-n個任意字元

_:匹配單個字元

:匹配區間內的值:如[13]

[^]:不匹配區間內的值

--模糊查詢:查詢學生表中性"張"的學生記錄

select * from student  where studentname like '張'

select * from student where studentname like '張%'

select * from student where studentname like '張_'

select * from result where  subjectld like '[1-3]'

select * from result where subjectld like '[^3]'

--查詢空的資料行

select * from student where email=''

--查詢區間內資料:between and

select * from result where subjectld between 1 and 3

--查詢與列所匹配值相同的資料:in

select * from student where address in ('解放路','長江路','學生宿舍')

--統計記錄數:count(*)和count(1)的區別

select count(1) as '記錄數' from student 

count(*)和count(1)的區別:

從執行計畫來看,count(1)和count(*)的效果是一樣的。 但是在表做過分析之後,count(1)會比count(*)的用時少些(1w以內資料量),不過差不了多少。 

如果count(1)是聚索引,id,那肯定是count(1)快。但是差的很小的。 

因為count(*),自動會優化指定到那乙個字段。所以沒必要去count(1),用count(*),sql會幫你完成優化的 因此:count(1)和count(*)基本沒有差別! 

count(*)包括了所有的列,相當於行數,在統計結果的時候,不會忽略列值為null  

count(1)包括了忽略所有列,用1代表**行,在統計結果的時候,不會忽略列值為null  

第10章 函式

定義函式的格式 name command list 呼叫函式的格式 name 省略括號 檢視到所宣告的函式定義 declare f name 取消定義的函式,可以使用unset命令 unset name 案例 bin bash 定義函式printmsg用來輸出資訊到終端螢幕,該函式至少需要兩個引數 ...

第10章 深入函式

1 普通函式的過載 過載的是引數的型別 成員函式的過載 過載的是引數的型別 2 普通函式的預設引數 預設引數 以及成員函式的預設引數 預設引數 過載的是引數的數值 3 過載建構函式 4 成員變數初始化 在函式體中進行賦值或者在建構函式頭進行初始化 常量和引用只能初始化不能進行賦值 5 成員變數初始化...

Oracle 第10章 層次查詢

層次查詢必須指定start with,需要指定連線方向,通過連線方向控制向上查詢或向下查詢,可以使用level指定遍歷的層級。例1 select empno,ename,mgr,job from emp start with empno 7839 connect by prior empno mgr...