怎样在SQL语句中使用列的别名?
以上三名查询的结果都是一样的,只是第一句的结果和后面两句稍有不同,注意三名的区别,以明确别名的使用。
(注意:如果别名是两个以上的单词,要用双引号将其引起来,而单个单词则不用。)
连接运算符的使用。
连接运算符由两个竖线(||)表示,它把一个或者多个列或字符串连接在一起。
使用Distinct去掉重复的行。
使用条件以对查询的结果进行限定
利用BETWEEN…AND…对查询结果进行限定
(注意:在WHERE子句中的字符串是区分大小写的,在WHERE子句中字符和日期型数据要用单引号括起来,但数字型不用,日期型数据默认的格式,在Oracle9i之前的版本中为“DD-MON-YY”,在Oracle9i中为“DD-MON-RR”。)
使用IN比较运算符进行查询列的限定
也就是说,从JOB列中挑选出IN列表中的值。
使用LIKE比较运算符进行模糊查询
EMPNO ENAME SAL JOB
---------- ---------- ---------- ---------
7499 ALLEN 1600 SALESMAN
7521 WARD 1250 SALESMAN
7654 MARTIN 1250 SALESMAN
7844 TURNER 1500 SALESMAN
LIKE运算符可以进行通配查询。
LIKE运算符可以使用以下两个通配符“%”和“_”。其中:
“%”代表零个或多个字符。
“_”代表 一个且只能是一个字符
使用ORDER BY子名对查询结果进行排序
EMPNO ENAME SAL
---------- ---------- ----------
7844 TURNER 1500
7499 ALLEN 1600
7782 CLARK 2450
7698 BLAKE 2850
(注:ORDER BY子句默认的排序顺序为升序,也就是由小到大)
如果想要改变ORDER BY的默认排序顺序,将其改变为由大到小,则需要在后面加“DESC”;如下所示。
EMPNO ENAME SAL
---------- ---------- ----------
7839 KING 5000
7788 SCOTT 3000
7902 FORD 3000
7566 JONES 2975
结果按SAL由大到小排列
在ORDER BY子句中使用别名或者表达式
在ORDER BY中使用别名和表达式,只需要在 ORDER BY后面加入相应的别名和表达式即可。如下所示:
Select empno AS “Employee Number”
Ename name from emp;
Select empno AS EmployeeNB
Ename name from emp;
Select empno EmployeeNB
Ename name from emp;以上三名查询的结果都是一样的,只是第一句的结果和后面两句稍有不同,注意三名的区别,以明确别名的使用。
(注意:如果别名是两个以上的单词,要用双引号将其引起来,而单个单词则不用。)
连接运算符的使用。
SQL> select ename ||' annual salay is '|| sal "Employee's Salary" from emp;以下是查询结果Employee's Salary
--------------------------------
SMITH annual salay is 800
ALLEN annual salay is 1600
WARD annual salay is 1250
JONES annual salay is 2975
MARTIN annual salay is 1250查询语句的意思是,将ename 和sal用annual salay is 连接起来,再将结果以别名“Employee’s salafy”命名。连接运算符由两个竖线(||)表示,它把一个或者多个列或字符串连接在一起。
使用Distinct去掉重复的行。
SQL> select distinct deptno from emp;
DEPTNO
----------
10
20
30
(注:Distinct加在Select后面)使用条件以对查询的结果进行限定
SQL> select empno,ename,sal from emp
2 where sal>1500;
EMPNO ENAME SAL
---------- ---------- ----------
7499 ALLEN 1600
7566 JONES 2975
7698 BLAKE 2850查询工资大于1500的数。利用BETWEEN…AND…对查询结果进行限定
SQL> select empno ,ename,sal from emp
2 where sal between 1500 and 2000; EMPNO ENAME SAL
---------- ---------- ----------
7499 ALLEN 1600
7844 TURNER 1500(注意:在WHERE子句中的字符串是区分大小写的,在WHERE子句中字符和日期型数据要用单引号括起来,但数字型不用,日期型数据默认的格式,在Oracle9i之前的版本中为“DD-MON-YY”,在Oracle9i中为“DD-MON-RR”。)
使用IN比较运算符进行查询列的限定
SQL>
1 select empno ,ename,sal ,job
2 from emp
3* where job in ('CLERK') EMPNO ENAME SAL JOB
---------- ---------- ---------- ---------
7369 SMITH 800 CLERK
7876 ADAMS 1100 CLERK
7900 JAMES 950 CLERK
7934 MILLER 1300 CLERK只要某一记录的JOB列的值等于IN列表中的值,该记录就会显示出来。也就是说,从JOB列中挑选出IN列表中的值。
使用LIKE比较运算符进行模糊查询
SQL> select empno,ename,sal,job
2 from emp
3 where job like 'SAL%';EMPNO ENAME SAL JOB
---------- ---------- ---------- ---------
7499 ALLEN 1600 SALESMAN
7521 WARD 1250 SALESMAN
7654 MARTIN 1250 SALESMAN
7844 TURNER 1500 SALESMAN
LIKE运算符可以进行通配查询。
LIKE运算符可以使用以下两个通配符“%”和“_”。其中:
“%”代表零个或多个字符。
“_”代表 一个且只能是一个字符
使用ORDER BY子名对查询结果进行排序
SQL> select empno, ename,sal
2 from emp
3 where sal>=1500
4 order by sal;EMPNO ENAME SAL
---------- ---------- ----------
7844 TURNER 1500
7499 ALLEN 1600
7782 CLARK 2450
7698 BLAKE 2850
(注:ORDER BY子句默认的排序顺序为升序,也就是由小到大)
如果想要改变ORDER BY的默认排序顺序,将其改变为由大到小,则需要在后面加“DESC”;如下所示。
SQL>
1 select empno, ename,sal
2 from emp
3 where sal>=1500
4* order by sal descEMPNO ENAME SAL
---------- ---------- ----------
7839 KING 5000
7788 SCOTT 3000
7902 FORD 3000
7566 JONES 2975
结果按SAL由大到小排列
在ORDER BY子句中使用别名或者表达式
在ORDER BY中使用别名和表达式,只需要在 ORDER BY后面加入相应的别名和表达式即可。如下所示:
1095

被折叠的 条评论
为什么被折叠?



