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语句中的任何常量字符串都需要用单引号进行括起来,但是别名例外。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值