有员工表employee(e_id,e_name,e_date,e_sex,d_id),字段分别是:工号、姓名,参工日期,性别,部门编号。

增加一条如下记录:张三,2008-1-2参工(上班),分配到01部门,工号使用自动编号,SQL语句为? 查询所有员工的姓名、工号和参工日期。

第1个回答  2014-06-27
请问你用的是什么数据库啊?不同的数据库之间SQL语句的写法是有一些微小的差别的。 我现在以oracle数据库为例回答你的问题: 创建表employee: create table employee ( e_id number(3) , e_name varchar2(20), e_date date, e_sex varchar2(2), d_id varchar2(2) ) 因为你要求工号是自动增长的,那么在oracle中就要使用序列,这是oracle特有的东西, (其他数据库,如mysql是在创建表时使用auto_increment)。 创建序列: create sequence seq_emp; 1.增加一条如下记录:张三,2008-1-2参工(上班),分配到01部门,工号使用自动编号,SQL语句为: (你并没有说明将性别列(e_sex)插入数据) insert into employee (e_id,e_name,e_date,d_id) values (seq_emp.nextval,'张三',to_date('2008-1-2','yyyy-mm-dd'),'01'); 2.查询所有员工的姓名、工号和参工日: select e_name,e_id,e_date from employee; 补充问题: 1.写出查询所有员工的姓名、工号和参工日期的SQL语句为: select e_name,e_id,e_date from employee; 2.删除上面员工表e中所有数据有两种方法:?和? 。另外:删除员工表employee对象语句为: 方法1: 使用truncate语句可以将表截断,这将删除表中所有的行,并重置表的存储空间, truncate table employee; 方法2: 使用delete语句,不写where子句: delete from employee; 删除员工表employee对象语句为: drop table employee; 3.将所有没有性别的人员性别更新为“男”的SQL语句为: (对于null值的判断使用 is null 或者 is not null) update employee set e_sex = '男' where e_sex is null; 4.查询所有在2008年参工的男员工,或者性别没有输入的员工记录: SELECT * FROM employee WHERE TO_CHAR(e_date,'yyyy') = '2008' AND e_sex = '男' OR e_sex IS NULL; 5.查询所有在2006-2008年参工的,姓“王”的员工: SELECT e_name FROM employee WHERE TO_CHAR(e_date,'YYYY') IN (2006,2007,2008) AND e_name LIKE '王%';本回答被提问者采纳

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网