1、顯示當前所在使用者;
show user;
2、查詢使用者語言環境,藉助dual偽表;
select userenv('language') from dual;
3、檢視emp表結構;
desc emp;
4、查詢emp表所有資訊;
select * from emp;
5、使用全列名查詢emp表所有資訊;
select empno,ename,job,mgr,hiredate,sal,comm,deptno from emp;
6、使用列別名查詢emp表所有資訊;
select empno 員工編號,ename 員工姓名,job 職位,mgr 上級,hiredate 僱傭日期,sal 工資,comm 獎金,deptno 部門編號 from emp;
7、查詢emp表員工編號為7876的所有資訊;
select * from emp where empno=7876;
8、查詢emp表消除重複職位資訊;
select distinct job from emp;
9、查詢emp表每個僱員的工資;
select ename 員工姓名,sal 工資 from emp;
10、查詢emp表每個僱員的年薪;
select ename 員工姓名,sal * 12 年薪 from emp;
11、查詢emp表員工編號、員工姓名、職位資訊,使用字串連線;
select '員工編號:' || empno || ',員工姓名:' || ename || ',職位:' || job || ' ' from emp;
12、查詢emp表每月能得到獎金的僱員;
select * from emp where comm is not null;
13、查詢emp表每月得不到獎金的僱員;
select * from emp where comm is null;
14、查詢emp表工資大於1500並且有獎金領取的僱員;
select * from emp where comm is not null and sal > 1500;
15、查詢emp表工資大於1500或者有獎金領取的僱員;
select * from emp where comm is not null or sal > 1500;
16、查詢emp表工資不大於1500和沒有獎金領取的僱員;
– 使用邏輯運運算元 not
select * from emp where comm is null and not(sal > 1500);
– 不使用邏輯運運算元 not
select * from emp where comm is null and sal <= 1500;
17、查詢emp表工資大於1500但小於3000的全部僱員;
– 方式一
select * from emp where sal > 1500 and sal < 3000;
– 方式二 使用 between and 閉區間
select * from emp where sal between 1500 and 3000 and (sal <> 1500 and sal != 3000);
18、查詢emp表1981-1-1到1981-12-31號入職的僱員;
select * from emp where hiredate between '1-1月-1981' and '31-12月-1981';
19、檢視系統日期,藉助dual偽表;
select sysdate from dual;
20、日期型別轉換成字串函數TO_CHAR()
select to_char(sysdate) from dual;
select to_char(sysdate,'yy-mm-dd') from dual;
select to_char(sysdate,'dd-mm-yyyy') from dual;
select to_char(sysdate,'yyyy-mm-dd') from dual;
select to_char(sysdate,'yyyy-mm-dd hh24:mi:ss') 日期 from dual;
21、字串型別轉換為日期函數TO_DATE()
select to_date('2020-10-05 23:59:56','yyyy-mm-dd hh24:mi:ss') from dual;
select to_char(to_date('2020-10-06 23:34:45','yyyy-mm-dd hh24:mi:ss'),'yyyy-mm-dd hh24:mi:ss')日期 from dual;
22、查詢僱員名字叫 smith 的僱員,注意查詢條件的值是區分大小寫的
select * from emp where ename = 'smith';
23、查詢僱員名字叫 SMITH 的僱員,注意查詢條件的值是區分大小寫的
select * from emp where ename = 'SMITH';
24、查詢僱員編號是7369,7499,7521的僱員編號的具體資訊
(1)使用邏輯運運算元 and 無效 無效 無效
select * from emp where (empno = 7369) and (empno = 7499) and (empno = 7521);
(2)使用邏輯運運算元 or 可以,加上括號更好一些
select * from emp where (empno = 7369) or (empno = 7499) or (empno = 7521);
select * from emp where empno = 7369 or empno = 7499 or empno = 7521;
(3)使用 IN 關鍵字
select * from emp where empno in (7369,7499,7521);
25、查詢僱員姓名是 ‘SMITH’,‘ALLEN’,'WARD’的僱員具體資訊
select * from emp where ename in ('SMITH','ALLEN','WARD');
select * from emp where (ename = 'SMITH') or (ename = 'ALLEN') or (ename = 'WARD');
–模糊查詢 LIKE ‘%’:任意長度, _’:一個長度
26、查詢所有僱員姓名中第二個字元包含「 M 」的僱員
select * from emp where ename like '_M%';
在LIKE中如果沒有關鍵字表示查詢全部
select * from emp where ename like '%';
27、查詢所有僱員姓名中包含「 M 」的僱員
select * from emp where ename like '%M%';
28、查詢僱員編號不是7369的僱員資訊
select * from emp where empno <> 7369;
select * from emp where empno != 7369;
–使用 order by 對結果排序,升序ASC 預設,降序DESC
29、查詢emp表僱員的工資,從低到高
select * from emp order by sal;
30、查詢僱員的工資,從高到低
select * from emp order by sal desc;
31、如果存在多個排序欄位可以用逗號分隔
select * from emp order by sal asc, hiredate desc;
–排序中的空值問題,可以使用nulls first, nulls last來指定null值顯示的位置
32、查詢僱員的工資從低到高
select * from emp order by sal nulls first;
33、查詢僱員的工資從高到低(使用nulls last)
select * from emp order by sal desc nulls last;
都看到最後了啦,如果覺得寫得好的話吶
記得 一鍵三連 哦!點贊 也行吶!