SQL 练习训练一 1、查询dept 表的结构 在命令窗口输入: desc dept; 2、检索dept 表中的所有列信息 select * from dept 3、检索emp 表中的员工姓名、月收入及部门编号 select ename "员工姓名",sal "月收入",empno "部门编号" from emp 注意查询字段用分号隔开。 4、检索emp 表中员工姓名、及雇佣时间 日期数据的默认显示格式为“DD-MM-YY",如果希望使用其他显示格式(YYYY-MM-DD),那么必须使用TO_CHAR 函数进行转换。 select ename "员工姓名", hiredate "雇用时间1",to_char(hiredate,'YYYY-MM-DD') "雇用时间2" from emp 注意:第一个时间是日期类型的,在Oracle 的查询界面它的旁边带有一个日历。 第二个时间是字符型的。 易错点:不要将 YYYY-MM-DD 使用双引号 5、使用distinct 去掉重复行。 检索emp 表中的部门编号及工种,并去掉重复行。 select distinct deptno "部门编号",job "工种" from emp order by deptno 注意distinct 放的位置 为什么不放在from 的前面? 翻译成汉语就明白了 应该是:选择不重复的部门编号和工种从 emp 表。而不是:选择部门编号和工种不重复地从 emp 表。这还是人话么O(∩_∩)O哈哈~ 6、使用表达式来显示列 检索emp 表中的员工姓名及全年的月收入 select ename "员工姓名", (sal+nvl(comm,0))*12 "全年收入" from emp 注意:防止提成 comm 为空的操作,使用nvl 函数 7、使用列别名 用姓名显示员工姓名,用年收入显示全年月收入。 select ename " 员工姓名",sal*12 "全年收入" from emp 8、连接字符串 在oracle 中连接字符串用“||”操作符来完成的,当连接字符串时,如果在字符串要加入数字值 那么在“||”后可以直接指定数字,如果在字符串加入字符和日期值,则必须要用单引号。 检索 emp 表,用 is a 这个字符串来连接员工姓名和工种两个字段 select ename||' is a '||job "他们各自的职位"from emp 注意:用的是单引号 9、使用 WHERE 子句 检索月收入大于 2000 的员工姓名及月收入。 select ename "姓名" ,sal "月薪"from emp where sal>2000 检索月收入在1000 元到 2000 元的员工姓名、月收入及雇佣时间。 select ename "姓名" ,sal "月薪",hiredate "雇佣时间" from emp where sal between 1000 and 2000 10、like 的用法: 检索以 S 开头的员工姓名及月收...