Oracle 表基本查詢 - where \ like \ order by(四)

??表基本查詢用 PL/SQL 的 scott 用戶自帶的四個(gè)表,選用兩個(gè)表進(jìn)行練習(xí)。

  • 雇員表 emp


    emp表
  • 部門表 dept


    dept表

一、簡單查詢

  • 查看表結(jié)構(gòu)
desc dept;
  • 查看所有列 ( 如果是大量數(shù)據(jù),不推薦使用此查詢命令 )
select * from dept;
  • 查詢指定列 ( 如果是大量數(shù)據(jù),推薦使用此查詢命令 )
select userId from users;
  • 打開顯示操作時(shí)間
set timing on;
  • 復(fù)制多個(gè)數(shù)據(jù)
create table users(userid varchar2(20),username varchar2(30),userpssvarchar2(30));//先創(chuàng)建一個(gè)users表
insert into users values('a001','哈哈哈哈哈啊颯颯','qwert12345');//插入一條數(shù)據(jù)
insert into users values(userid,username,userpss) select * from users;//復(fù)制剛剛插入的數(shù)據(jù),可以多次復(fù)制
  • 查看多少行數(shù)據(jù)
select count (*) from users;
  • 取消重復(fù)行
select distinct deptno,job from emp;  //取消deptno 和 Job 所出現(xiàn)的重復(fù)行
  • 查詢 SMITH 的薪水,工作,所在部門。
    (oracle對類大小寫有區(qū)分,對sql語句不區(qū)分)
select sal,job,deptno from emp where ename = 'SMITH';
  • 顯示每個(gè)雇員的年工資
select sal*12,ename from emp;
  • 使用列的別名
select sal*12 "年工資",ename from emp;
  • 處理 null 值,使用 nvl
    員工 12 個(gè)月的總共的工資+獎(jiǎng)金(因?yàn)楠?jiǎng)金有些人會(huì)出現(xiàn)空值)
select sal*12+nvl(comm,0)*12 "年工資",ename,comm from emp;

二、where語句

  • 顯示工資高于 3000 的員工
select ename,sal from emp where sal>3000;
  • 顯示入職日期,在某年某月入職得員工
select ename,hiredate from emp where hiredate>='1-1月-1980';
  • 顯示多條件時(shí),用and來連接條件,比如:顯示工資到 2000 到 2500 之間得員工。
select ename,sal from emp where sal>=2000 and sal<2500;

三、like 操作符

% :表示任意0個(gè)到多個(gè)字符
_ :表示任意單個(gè)字符

  • 顯示首字母為 S 的員工,工資
select ename,sal from emp where ename like 'S%';
  • 顯示第三個(gè)字符為 O 的所有員工,工資
select ename,sal from emp where ename like '__O%';

四、where語句中 in 表達(dá)

  • 顯示員工 empno 中 7499,7521,7788,7900員工的情況
select * from emp where empno in (7499,7521,7788,7900);

五、is null 語句

  • 顯示沒有上級(jí)的雇員信息
select * from emp where MGR is null;

六、邏輯符號(hào)

或:or
和:and

  • 查詢工資高于 500 或是崗位為 MANGER 的雇員,同時(shí)還要滿足他們的姓名首字母為大寫的 J
select * from emp where (sal>500 or job='MANGER') and ename like 'J%';

七、order by 語句

升序,由低到高:order by 默認(rèn)排序 或 asc
降序,由高到低:desc

  • 按照雇員的工資由低到高顯示雇員的信息
select * from emp order by sal;
  • 按照部門號(hào)升序,工資降序顯示雇員信息
select * from emp order by deptno asc,sal desc;
  • 按照部門號(hào)升序,工資降序顯示雇員信息,同時(shí)按照入職時(shí)間降序
select * from emp order by deptno,sal desc,hiredate desc;
  • 使用列的別名進(jìn)行排序
select ename,sal*12 as "年薪" from emp order by "年薪";
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容