1.1最简单的查询语句
例 1-1
SQL> select * from emp;
例 1-1 结果
这里的 * 号表示全部的列。它与在select 之后列出全部的列名是一样的。查询语句以分号( ; )结束。
emp(employee)是一个员工表。
1.2 在查询语句中怎样选择特定的列
在平时的使用过程中我们须要的往往仅仅是一张表中的某一条或者某几条数据而已。但上面查询的结果可能看起来比較乱。假设我们指向知道若干个特定列的信息,使用select 语句非常easy就能够做到。
就好比我们去菜市场买东西,不会把真个市场的东西买完。比如:
买 白菜,猪肉
从 菜市场;
以下我们举个样例:
公司的会计在每次发放工资时,她可能须要确定每一个员工的工号(empno)、名字(ename)和工资(sal)。能够使用以下的语句来实现她的要求,例1-2。
例1-2
SQL> SELECT empno,ename,sal FROM emp;
--注意,这里keywordSELECT、FROM,在oracle大写和小写是没有区分的
例1-2 结果
在查询语句中选择指定的列就是关系数据库中所称的投影(Project)
当然,在selectkeyword后面。你能够选择随意的列然后用逗号隔开,并且也能够依据须要来指定显示的顺序。(通常是依照select后面列名从左到右排序),例1-3
例1-3
SQL>select sal,ename,empno from emp;
例1-3 结果
1.3 怎样书写查询语句
oracle中规定。组成SQL的keyword是不能缩写的,也就是说。你在查询语句中不能将 select写成sel或者selec等,不能把from写成fro或者fr。也不能把keyword分开书写。即keyword必须原样书写。
当然,能够用大写,或小写,或大写和小写混写来书写SQL语句,如例1-4
例1-4
SQL>select Sal,EName,EMPNO From Emp;
例1-4 结果
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
注意:尽管使用没什么问题,可是oracle还是推荐 keyword 使用大写,其它用小写。
我们或许会发现,我们在上面的样例中,sql语句都是一句话写成的。事实上我们能够将SQL语句放在多行上。方便我们的阅读。(语句简单的时候看不出,当查询的内容较多时,分行书写的优势就出来了。
)。如例1-5
例1-5
SQL> SELECT sal,ename,empno
2 FROM emp;
输出结果:
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
注意:完整的SQL命令叫做语句(statement),玫瑰keyword和后面跟着的选项叫字句(clause)。比如,“SELECT * FROM emp;"叫语句,而”SELECT *”叫子句。“FROM emp”也叫子句。
例1-6
SQL> SELECT empno,ename,sal
2 eptno,job
3 FROM emp;
例 1-6 结果
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
从例1-6的语句中我们能够非常easy的看出:第一行和第二行为SELECT子句,第三行为FROM子句。
例1-6的查询结果显示了emp表中每一个员工的工号(empmo)。名字(ename)、工资(sal)、部门号(deptno)和职位(job)。
1.4 列标题和数据的默认显示格式
在文章一開始的时候。已经看到了因为字符集的不同。使日期型的显示有些问题。为了解决问题能够使用里1-7的SQL语句。
例1-7
SQL> alter session
2 set NLS_DATE_LANGUAGE = 'AMERICAN';
例1-7 结果
为了使显示跟家清晰,能够使用例1-8和例1-9的SQL*PLUS格式化语句
例1-8
SQL> col hiredate for a15
例1-9
SQL> col ENAME FOR A8
注意:假设对以上SQL*PLUS命令不太理解的话,请不要紧张,后面会慢慢解释
SQL*PLUS默认的列表标题结果显示是:
字符和日期数据为左对齐;
而数字型数据为右对齐。
能够使用例1-10的样例来验证以上的结论。
例1-10
SQL> SELECT empno,ename,sal,
2 hiredate,job
3 FROM emp;
例1-10 结果
watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center" alt="">
无语,写完文章后。保存公布,图没了,很无语。又一次再编辑一边,也发现一些语句的错误,已经改正
---------------------------------------------------------