Oracle學習(三)--簡單 查詢

1.簡單查詢
        1.1 SELECT [DISTINCT] * | 列名稱[別名],列名稱[別名]...FROM 表名稱[別名]
            首先查詢的是FROM字句,因爲必須通過FRMO字句確定來源。
            如果要查看錶的所有信息,可以使用*,比如:SELECT * FROM emp; 表示查詢emp表中所有的數據。
             
            例如:SELECT ename,empno,job,sal FROM emp;    表示從emp表中查詢ename,empo和job以及sal。

                                        ENAME           EMPNO JOB                 SAL
					---------- ---------- ------------ ----------
					SMITH            7369 CLERK               800
					ALLEN            7499 SALESMAN           1600
					WARD             7521 SALESMAN           1250
					JONES            7566 MANAGER            2975
					MARTIN           7654 SALESMAN           1250
					BLAKE            7698 MANAGER            2850
					CLARK            7782 MANAGER            2450
					SCOTT            7788 ANALYST            3000
					KING             7839 PRESIDENT          5000
					TURNER           7844 SALESMAN           1500
					ADAMS            7876 CLERK              1100
					JAMES            7900 CLERK               950
					FORD             7902 ANALYST            3000
					MILLER           7934 CLERK              1300

1.2 比如要查詢job列,使用語句: SELECT job FROM emp;

         JOB
    ------------
    CLERK
    SALESMAN
    SALESMAN
    MANAGER
    SALESMAN
    MANAGER
    MANAGER
    ANALYST    
    PRESIDENT
    SALESMAN
    CLERK
    CLERK
    ANALYST
    CLERK		

但是此時從結果中可以看出,有重複的數據,所以爲了消除重複,可以使用語句:SELECT DISTINCT job FROM emp;

	                                        JOB
					        ------------
						CLERK
						SALESMAN
						PRESIDENT
						MANAGER
						ANALYST

可是這是在查詢一個列,如果查詢多個列,只有多個列的內容全部相同,纔會消除重複。

 1.3 對查詢的數據進行四則運算,比如: SELECT empno, ename, sal*12 FROM emp;    

                                                 EMPNO ENAME          SAL*12
						---------- ---------- ----------
						  7369 SMITH            9600
						  7499 ALLEN           19200
						  7521 WARD            15000
						  7566 JONES           35700
						  7654 MARTIN          15000
						  7698 BLAKE           34200
						  7782 CLARK           29400
						  7788 SCOTT           36000
						  7839 KING            60000
						  7844 TURNER          18000
						  7876 ADAMS           13200
						  7900 JAMES           11400
						  7902 FORD            36000
						  7934 MILLER          15600

      但是從結果中可以看出,SAL*12這個意思並不能表達清楚年薪的含義,所以我們可以使用別名。
       例如:SELECT empno, ename, sal*12 INCOME FROM emp;  

	                                                 EMPNO ENAME          INCOME
						---------- ---------- ----------
							  7369 SMITH            9600
							  7499 ALLEN           19200
							  7521 WARD            15000
							  7566 JONES           35700
							  7654 MARTIN          15000
							  7698 BLAKE           34200
							  7782 CLARK           29400
							  7788 SCOTT           36000
							  7839 KING            60000
							  7844 TURNER          18000
							  7876 ADAMS           13200
							  7900 JAMES           11400
							  7902 FORD            36000
							  7934 MILLER          15600	

     可以看出,此時SAL*12變爲了INCOME我們設置的別名。但是不建議使用中文。  

2.SELECT語句除了可以進行查詢以外,還能聲明常量,但是有以下三點說明:
            2.1 如果是字符串,使用單引號,比如:'hello'
            2.2 如果是數字,直接書寫,比如:19
            2.3 如果常量是日期,按照日期風格編寫:使用"日-月-年"的格式,例如:17-12月-80

3.     直接查詢常量:比如:
            SELECT '僱員', empno, ename FROM emp;
        查詢結果:

                                '僱員'            EMPNO ENAME
				------------ ---------- -------
				僱員               7369 SMITH
				僱員               7499 ALLEN
				僱員               7521 WARD
				僱員               7566 JONES
				僱員               7654 MARTIN
				僱員               7698 BLAKE
				僱員               7782 CLARK
				僱員               7788 SCOTT
				僱員               7839 KING
				僱員               7844 TURNER
				僱員               7876 ADAMS
				僱員               7900 JAMES
				僱員               7902 FORD
				僱員               7934 MILLER

 3.1 轉換顯示格式    
        SELECT empno||ename FROM emp;

查詢結果:
				
					EMPNO||ENAME
					-----------------
					7369SMITH
					7499ALLEN
					7521WARD
					7566JONES
					7654MARTIN
					7698BLAKE
					7782CLARK
					7788SCOTT
					7839KING
					7844TURNER
					7876ADAMS
					7900JAMES
					7902FORD
					7934MILLER

		從顯示結果來看,將兩列合併爲了一列。

3.2準換顯示格式:
        例如:僱員編號:7369,姓名:SIMTH,收入:800,假設我們要實現這種顯示效果。
        很明顯,有常量字符串,也有變量。所以可以寫成查詢語句爲:
                SELECT '僱員編號:'||empno||', 姓名:'||ename||', 收入: '||sal FROM emp;        

	'僱員編號:'||EMPNO||',姓名:'||ENAME||',收入:'||SAL
----------------------------------------------------------
		僱員編號:7369, 姓名:SMITH, 收入: 800
		僱員編號:7499, 姓名:ALLEN, 收入: 1600
		僱員編號:7521, 姓名:WARD, 收入: 1250
		僱員編號:7566, 姓名:JONES, 收入: 2975
		僱員編號:7654, 姓名:MARTIN, 收入: 1250
		僱員編號:7698, 姓名:BLAKE, 收入: 2850
		僱員編號:7782, 姓名:CLARK, 收入: 2450
		僱員編號:7788, 姓名:SCOTT, 收入: 3000
		僱員編號:7839, 姓名:KING, 收入: 5000
		僱員編號:7844, 姓名:TURNER, 收入: 1500
		僱員編號:7876, 姓名:ADAMS, 收入: 1100
		僱員編號:7900, 姓名:JAMES, 收入: 950
		僱員編號:7902, 姓名:FORD, 收入: 3000
		僱員編號:7934, 姓名:MILLER, 收入: 1300

'僱員編號:'||EMPNO||',姓名:'||ENAME||',收入:'||SAL,此時的表名稱爲這個,很顯然,不直觀,可以爲此表明起一個別名:
                SELECT '僱員編號:'||empno||', 姓名:'||ename||', 收入: '||sal Information FROM emp;
                值得注意的是,別名雖然是常量字符串,但可以不用單引號進行括起來。

                    INFORMATION
-------------------------------------------------------------
	僱員編號:7369, 姓名:SMITH, 收入: 800
	僱員編號:7499, 姓名:ALLEN, 收入: 1600
	僱員編號:7521, 姓名:WARD, 收入: 1250
	僱員編號:7566, 姓名:JONES, 收入: 2975
	僱員編號:7654, 姓名:MARTIN, 收入: 1250
	僱員編號:7698, 姓名:BLAKE, 收入: 2850
	僱員編號:7782, 姓名:CLARK, 收入: 2450
	僱員編號:7788, 姓名:SCOTT, 收入: 3000
	僱員編號:7839, 姓名:KING, 收入: 5000
	僱員編號:7844, 姓名:TURNER, 收入: 1500
	僱員編號:7876, 姓名:ADAMS, 收入: 1100
	僱員編號:7900, 姓名:JAMES, 收入: 950
	僱員編號:7902, 姓名:FORD, 收入: 3000
	僱員編號:7934, 姓名:MILLER, 收入: 1300

注意:SELECT語句中的任何常量字符串都需要用單引號進行括起來,但是別名例外。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章