兩個以上select查詢的語句就是子查詢語句
出現(xiàn)的位置
1.where后:是把select查詢出的結果當作另外一個select的條件值
2.from后:是把查詢出的結果當做一個新表
例:
查詢與項羽同一個部門的員工:
? ? 先查詢出項羽所在的部門編號忧设,再根據編號查詢同一部門的員工
select ename,deptno from emp where deptno = (select deptno from emp where ename='項羽');
查詢30號以內大于2000的薪水的人(放在from后是把這個語句當成一個表)
select ename from (select ename,salary,deptno from emp where deptno=30) as s where s.salary > 2000;
查詢工資大于程咬金的員工
select ename,salary from emp where salary > (select salary from emp where ename='程咬金');
常見函數
分類:字符串函數溉旋、數值函數岖食、日期和時間函數绰上、流程函數百揭、其他函數(數據庫、系統(tǒng)相關)
字符串函數:
concat(s1,s2,....,sn):將傳入的字符串連成一個字符串,注意:任何與null連接的字符串結果都是null
insert(str,x,y,instr):把字符串轉換成小寫或者大寫
lower(str)和uooer(str):把字符串轉換成小寫或者大寫
lift(str,x)和right(str,x):分別返回字符串最左邊或者最右邊的x字符
ltrim(str)和rtrim(str):去除字符串當中最左側和最右側的空格
trim(str):去除字符串左右的空格
repeat(str,x):返回str重復x次結果
replace(str,a,b):用字符串b替換字符串str中所有出現(xiàn)的字符串a
substring(str,x,y):返回字符串str中的第x位置起y個字符串長度的字符
數值函數
abs(x):返回x的絕對值
ceil(x):小數部位零部分上取整,即向上取最近的整數(只要有一個小數點就進一)
floor(x):向下取整
mod(x,y):返回x/y的余數
rand():返回0~1的隨機數
日期相關函數
curdate():返回當前日期(年月日)
curtime():返回當前的時間(時分秒)
now():返回當前的時間(年月日時間秒)
unix_timestamp():返回當前的時間戳
????時間戳:時間戳是指格林威治時間1970年01月01日00時00分00秒(北京時間1970年01月01日08時00分00秒)起至現(xiàn)在的總秒數趟紊。? ? ? ??