Oracle基礎學習之簡單查詢和限定查詢_oracle

來源:互聯網
上載者:User

本文主要介紹的是關於Oracle中的簡單查詢和限定查詢,下面話不多說,來一起看看吧。

SQL:

     1,DML(資料操作語言):主要指的是資料庫的查詢與更新的操作,查詢操作是整個sql文法 中最麻煩也是筆試中最常用的部分。

     2,DDL(資料定義語言 (Data Definition Language)):主要指的是資料對象的建立(表、使用者、)例如:creat.需要相關的設計範式。

     3,DCL(資料控制語言):主要進行許可權的操作(需要結合使用者來觀察),此部分由DBA負責。

簡單查詢:

1,利用select 子句控制要顯示的資料列:

 select empno,ename,ename,job,sal from emp;

2,可以使用distinct來消除重複的資料行顯示:

 select distinct job from emp;

3,select子句可以進行四則運算,可以直接輸出常量內容,但是對於字串使用單引號數字直接編寫,日期格式按照字元格式設定:

select empno,ename,(sal*15+(200+100)) income from emp;

4,||負責輸出內容串連此類的操作很少直接在查詢中出現:

 select empno||ename from emp;

5,where子句一般都寫在from子句之後,但是是緊跟著from子句之後執行的,where子句控制顯示資料行的操作,而select控制資料列,select子句要落後於where子句執行,所以在select子句之中定義的別名無法在where中使用。

限定查詢:

1,關係運算子:

 select * from emp where sal>1500; select * from emp where ename ='SMITH' select empno,ename,job from emp where job<>'SALESMAN';

2,邏輯運算子:

 select * from emp where sal>1500 and sal<3000; select * from emp where sal>2000 or job='CLERK'; select * from emp where not sal >=2000;

3,範圍查詢:

 select * from emp where sal between 1500 and 2000; select * from emp where hiredate between '01-1月-1981'and'31-12月-1981';

4,空判斷(空在資料庫上表示不確定,如果在資料列使用null不表示0)

select * from emp where comm is not null;

5,IN操作符(類似於between and 而in給出的是指定的範圍):

 select * from emp where empno in (7369,7566,7788,9999);

關於not innull的問題:

在使用not in 進行範圍判斷的時候,如果範圍有null,那麼不會有任何結果返回。

6,模糊查詢:

“-”:匹配任意一位字元;

“%”:匹配任意的0,1,,或者多位字元;

查詢姓名是以字母A開頭的僱員資訊:

 select * from emp where ename like 'A%'

查詢姓名第二個字母是A的僱員資訊:

select * from emp where ename like '_A%';

查詢姓名任意位置是A的僱員資訊:

 select * from emp where ename like '%A%';

查詢排序:

ASC(預設):按照升序排列;

DESC: 按照降序排列;

查詢所有的僱員資訊,要求按照工資的由高到低:

 select * from emp order by sal desc;

查詢每個僱員的編號,姓名,年薪,按照年薪由低到高排序:

  select empno ,ename,sal*12 income from emp order by income;

語句的執行順序:from - where -select - order by

基礎練習:

1,選擇部門30中的所有員工:

 select * from emp where deptno=30;

2,列出所有辦事員(clerk)的姓名,編號,和部門編號:

select ename,empno,deptno from emp where job='CLERK';

3,找出傭金高於薪金的60%的員工:

 select * from emp where comm>sal*0.6 ;

4,找出部門10中所有的經理(manager)和部門20中所有的辦事員(clerk):

 select *  from emp  where (deptno=10 and job='MANAGER' )or(deptno=20 and job='CLERK'   );

5,找出部門10中所有的經理(manager),部門20中的所有辦事員(clerk),以及既不是經理又不是辦事員但是工資高於等於2000的所有員工資料:

 select * from emp where (deptno=10 and job='MANAGER')or(deptno=20 and job='CLERK')or(job! ='MANAGER'and job!='CLERK' and sal>=2000);
  select *  from emp  where (deptno=10 and job='MANAGER')or(deptno=20 and job='CLERK')or(job  not in ('CLERK','MANAGER') and sal>=2000);

6,找出收取傭金的員工的不同工作:

select distinct job from emp where comm is not null;

7,找出收取傭金或者收取的傭金低於100的員工:

  select distinct job  from emp where comm is null or comm<100;

8,顯示不帶有“R”的員工姓名:

 select * from emp where ename not like '%R%';

9,顯示姓名欄位含有A的所有員工姓名,顯示的結果按照基本的工資由高到低,如果工資相同,則按照僱傭年限由早到晚,如果僱傭日期相同,則按職位排序:

 select * from emp where ename like '%A%' order by sal desc,hiredate asc,job;

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的協助,如果有疑問大家可以留言交流。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.