Học Oracle cơ bản (Bài 1 /14)

Đây là tập tài liệu hướng dẫn học Oracle từ mức cơ bản của công ty PyThis, tài liệu này khá hay. Bạn nào quan tâm hãy download về và học

ppt33 trang | Chia sẻ: tue_kc | Lượt xem: 2446 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Học Oracle cơ bản (Bài 1 /14), để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
ViÕt c©u lÖnh SQL Néi dung LiÖt kª kh¶ n¨ng cña c©u lÖnh SELECT. Ch¹y c©u lÖnh SELECT Ph©n biÖt sù kh¸c nhau gi÷a c©u lÖnh SQL vµ SQL* PLUS kh¶ n¨ng cña c©u lÖnh SELECT Selection Projection Table 1 Table 2 Table 1 Table 1 Join C©u lÖnh SELECT c¬ b¶n SELECT [DISTINCT] {*, column [alias],...} FROM table; SELECT x¸c ®Þnh cét nµo. FROM x¸c ®Þnh table nµo. C©u lÖnh SQL kh«ng ph©n biÖt ch÷ hoa vµ ch÷ th­êng C©u lÖnh SQL cã thÓ ë trªn mét hay nhiÒu dßng C¸c tõ khãa kh«ng thÓ ë trªn nhiÒu dßng C¸c mÖnh ®Ò th­êng ®Æt trªn nhiÒu dßng kh¸c nhau DÊu TAB vµ c¸ch lÒ th­ßng dïng cho môc ®Ých dÔ ®äc Quy t¾c c¬ b¶n viÕt c©u lÖnh SQL Chän tÊt c¶ c¸c cét DEPTNO DNAME LOC --------- -------------- ------------- 10 ACCOUNTING NEW YORK 20 RESEARCH DALLAS 30 SALES CHICAGO 40 OPERATIONS BOSTON SQL> SELECT * 2 FROM dept; Chän c¸c cét chØ ®Þnh DEPTNO LOC --------- ------------- 10 NEW YORK 20 DALLAS 30 CHICAGO 40 BOSTON SQL> SELECT deptno, loc 2 FROM dept; HiÓn thÞ cét d÷ liÖu MÆc ®Þnh c¨n lÒ -Tr¸i: Date vµ character data -Ph¶i: Numeric data MÆc ®Þnh hiÓn thÞ : Uppercase C¸c phÐp to¸n trªn kiÓu d÷ liÖu sè T¹o c¸c biÓu thøc trªn d÷ liÖu kiÓu NUMERIC vµ kiÓu DATE Operator + - * / Description Add Subtract Multiply Divide Sö dông phÐp to¸n sè häc SQL> SELECT ename, sal, sal+300 2 FROM emp; ENAME SAL SAL+300 ---------- --------- --------- KING 5000 5300 BLAKE 2850 3150 CLARK 2450 2750 JONES 2975 3275 MARTIN 1250 1550 ALLEN 1600 1900 ... 14 rows selected. Thø tù ­u tiªn cña c¸c phÐp to¸n Nh©n vµ chia cã thø tù cao hîn céng vµ trõ To¸n h¹ng cã cïng thø tù ­u tiÖn th× thùc hiÖn tõ tr¸i qua ph¶i DÊu ngoÆc ®¬n dïng ®Ó t¹o ra thø tù ­u tiÖn Thø tù ­u tiªn cña phÐp to¸n SQL> SELECT ename, sal, 12*sal+100 2 FROM emp; ENAME SAL 12*SAL+100 ---------- --------- ---------- KING 5000 60100 BLAKE 2850 34300 CLARK 2450 29500 JONES 2975 35800 MARTIN 1250 15100 ALLEN 1600 19300 ... 14 rows selected. Sö dông dÊu ngoÆc ®¬n SQL> SELECT ename, sal, 12*(sal+100) 2 FROM emp; ENAME SAL 12*(SAL+100) ---------- --------- ----------- KING 5000 61200 BLAKE 2850 35400 CLARK 2450 30600 JONES 2975 36900 MARTIN 1250 16200 ... 14 rows selected. Gi¸ trÞ NULL NULL lµ gi¸ trÞ kh«ng cã ,ch­a ®­îc khëi t¹o kh«ng thÓ g¸n kh«ng thÓ ¸p dông Gi¸ trÞ NULL kh«ng gièng gi¸ trÞ trèng hay 0 SQL> SELECT ename, job, comm 2 FROM emp; ENAME JOB COMM ---------- --------- --------- KING PRESIDENT BLAKE MANAGER ... TURNER SALESMAN 0 ... 14 rows selected. Gi¸ trÞ NULL trong c¸c biÓu thøc sè häc BiÓu thøc sè häc chøa gi¸ trÞ NULL th× ®­îc ®¸nh gi¸ lµ NULL SQL> select ename, 12*sal+comm 2 from emp 3 WHERE ename='KING'; ENAME 12*SAL+COMM ---------- ----------- KING §Æt bÝ danh cho c¸c cét Dïng cho viÖc ®æi tªn ®Çu ®Ò c¸c cét TiÖn lîi trong viÖc tÝnh to¸n §­îc ®Æt ngay sau tªn cét,Cã thÓ dïng tõ khãa AS gi÷a tªn cét vµ bÝ danh Yªu cÇu cÇn cã dÊu nh¸y kÐp khi cã kho¶ng trèng trong bÝ danh Sö dông bÝ danh cét SQL> SELECT ename AS name, sal salary 2 FROM emp; NAME SALARY ------------- --------- ... SQL> SELECT ename "Name", 2 sal*12 "Annual Salary" 3 FROM emp; To¸n h¹ng kÕt nèi chuçi Dïng kÕt nèi c¸c cét vµ chuçi kÝ tù To¸n h¹ng kÝ hiÖu bëi dÊu “||” T¹o ra kÕt qu¶ lµ mét cét cã kiÓu lµ chuçi Sö dông to¸n h¹ng kÕt nèi chuçi SQL> SELECT ename||job AS "Employees" 2 FROM emp; Employees ------------------- KINGPRESIDENT BLAKEMANAGER CLARKMANAGER JONESMANAGER MARTINSALESMAN ALLENSALESMAN ... 14 rows selected. Chuçi kÝ tù LITERAL LITERAL lµ mét chuçi kÝ tù, mét biÓu thøc hay mét sè thªm vµo c©u lÖnh SELECT LITERAL chuçi kÝ tù hay DATE cÇn ph¶i ®­îc bao b»ng dÊu nh¸y ®¬n Mçi chuçi kÝ tù sÏ ®­îc tr¶ vÒ cho mçi hµng Sö dông chuçi kÝ tù LITERAL Employee Details ------------------------- KING is a PRESIDENT BLAKE is a MANAGER CLARK is a MANAGER JONES is a MANAGER MARTIN is a SALESMAN ... 14 rows selected. SQL> SELECT ename ||' '||'is a'||' '||job 2 AS "Employee Details" 3 FROM emp; LÆp l¹i cña c¸c hµng HiÓn thÞ mÆc ®Þnh cua c¸c hµng lµ toµn bé c¸c hµng vµ kÓ c¶ c¸c hµng cã gia trÞ l¨p l¹i SQL> SELECT deptno 2 FROM emp; DEPTNO --------- 10 30 10 20 ... 14 rows selected. Giíi h¹n sù lÆp l¹i c¸c hµng §Ó giíi h¹n sù lÆp l¹i c¸c hµng tr¶ vÒ dïng mÖnh ®Ò DISTINCT trong c©u lÖnh SELECT SQL> SELECT DISTINCT deptno 2 FROM emp; DEPTNO --------- 10 20 30 Sù t­¬ng t¸c gi÷a SQL vµ SQL* Plus SQL*Plus Buffer SQL vµ SQL *Plus SQL statements SQL Lµ mét ng«n ng÷ Theo chuÈn ANSI C¸c tõ khãa kh«ng thÓ viÕt t¾t C©u lÖnh ®iÒu biÕn d÷ liÖu trong c¸c b¶ng ®­îc ®Þnh nghÜa trong database SQL*Plus Lµ mét m«i tr­êng Theo chuÈn Oracle C¸c tõ khãa cã thÓ viÕt t¾t C©u lÖnh kh«ng cho phÐp diÒu biÕn d÷ liÖu trong database SQL buffer SQL*Plus commands SQL*Plus buffer §¨ng nhËp vµo SQL* PLus M« t¶ cÊu tróc cña b¶ng So¹n th¶o c©u lÖnh SQL Thùc thi c©u lÖnh SQL tõ SQL* Plus CÊt lÖnh SQL vµo file vµ thªm c©u lÖnh vµo file Thùc thi file cã c©u lÖnh SQL ChuyÓn c©u lÖnh SQL tõ file vµo vïng ®Öm(BUFFER) Tæng quan vÒ c©u lÖnh SQL* Plus §¨ng nhËp vµo m«i tr­êng SQL*Plus Tõ m«i tr­ßng Window: Tõ chÕ ®é dßng lÖnh: sqlplus [username[/password [@database]]] HiÓn thÞ cÊu tróc b¶ng Sö dông c©u lÖnh SQL* Plus DESCRIBE ®Ó hiÖn thÞ cÊu tróc mét b¶ng: DESC[RIBE] tablename HiÓn thÞ cÊu tróc b¶ng SQL> DESCRIBE dept Name Null? Type ----------------- -------- ------------ DEPTNO NOT NULL NUMBER(2) DNAME VARCHAR2(14) LOC VARCHAR2(13) So¹n th¶o c©u lÖnh SQL*Plus A[PPEND] text C[HANGE] / old / new C[HANGE] / text / CL[EAR] BUFF[ER] DEL DEL n DEL m n So¹n th¶o c©u lÖnh SQL*Plus I[NPUT] I[NPUT] text L[IST] L[IST] n L[IST] m n R[UN] n n text 0 text So¹n th¶o c©u lÖnh SQL*Plus SAVE filename GET filename START filename @ filename EDIT filename SPOOL filename Tæng kÕt Sö dông m«i tr­êng SQL* Plus ®Ó: Thùc thi c©u lÖnh SQL So¹n th¶o c©u lÖnh SQL SELECT [DISTINCT] {*,column [alias],...} FROM table;