易截截图软件、单文件、免安装、纯绿色、仅160KB

SQL 面试题 一

题目一:
 有两张表:部门表department  部门编号dept_id  部门名称dept_name            
               员工表employee     员工编号emp_id  员工姓名emp_name  部门编号dept_id   工资emp_wage
根据下列题目写出sql:
1、列出工资大于5000的员工所属的部门名、员工id和员工工资;
2、列出员工表中的部门id对应的名称和员工id(左连接)
3、列出员工大于等于2人的部门编号
4、列出工资最高的员工姓名
5、求各部门的平均工资
6、求各部门的员工工资总额
7、求每个部门中的最大工资值和最小工资值,并且它的最小值小于5000,最大值大于10000
8、假如现在在库中有一个和员工表结构相同的空表employee2,请用一条sql语句将employee表中的所以记录插入到employee2表中。
answer:
1:列出工资大于5000的员工所属的部门名、员工id和员工工资;
 
select emp_id,emp_wage,dept_name from employee as e inner join department as d on e.dept_id=d.dept_id where e.emp_wage>5000 group by e.emp_id;
 2:列出员工表中的部门id对应的名称和员工id(左连接)
 
select dept_name,emp_id from department d left join employee e on e.dept_id=d.dept_id group by e.emp_id;
 
+------------+--------+
| dept_name  | emp_id |
+------------+--------+
| 咨询部     | NULL   |
| 软件开发部 |   1001 |
| 市场策划部 |   1002 |
| 销售部     |   1003 |
| HR         |   1004 |
| HR         |   1005 |
| HR         |   1006 |
| 软件开发部 |   1007 |
+------------+--------+
 
 3:列出员工大于等于2人的部门编号
 
 select dept_name from department d [inner] join employee e on d.dept_id=e.dept_id group by dept_name
 having count(e.dept_id) >=2;
 
&nb


相关文档:

SQL SERVER 查询语句优化(转)

1、  用程序中,保证在实现功能的基础上,尽量减少对数据库的访问次数;通过搜索参数,尽量减少对表的访问行数,最小化结果集,从而减轻网络负担;能够分开的 操作尽量分开处理,提高每次的响应速度;在数据窗口使用SQL时,尽量把使用的索引放在选择的首列;算法的结构尽量简单;在查询时,不要过多地使用通配符 如SELE ......

SQL表生成语句

USE [haitest]
GO
/****** 对象:  Table [dbo].[haiTable]    脚本日期: 03/13/2010 20:10:59 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[haiTable](
 [buy_original_ticket] [nvarchar](50) COLLATE Chinese_PRC_CI_AS NULL,
 [buy_id] [nvar ......

powerdesigner生成sql去掉双引号

使用PowerDesigner生成数据库
建表SQL

本时,尤其是Oracle数据库时,表名一般会带引号。其实加引号是PL/SQL的规范,数据库会严格按照“”中的名称建表,如果没有“”,会按照
ORACLE默认的设置建表(DBA
STUDIO里面),默认是全部大写,这样,在ORACLE数据库里的字段就如“Column_1&rdqu ......

SQL WHERE 1=1

1=1或者'a'='a'等等恒等式是T-SQL中表达true的方法。因为在T-SQL中没有true这样的关键
字或值,所以需要借助这些恒等式来表达true的概念。
相对的,同样可以使用1<>1或者1=2等来表达false。
在应用程式的安全性方面,使用这些式子是SQL注入的基本原理,所以在拼接SQL语句的时候要过滤各种各样的敏感字
符。
当然 ......

PL/SQL 中文乱码解决方案

1. 使用的是服务器上的,不是本机的Oracle,按下面做就可以了:
    设置环境变量:NLS_LANG,具体值用下面查询的值:
SELECT 'AMERICAN_AMERICA.' || PROPERTY_VALUE
from DATABASE_PROPERTIES
WHERE PROPERTY_NAME = 'NLS_CHARACTERSET';
2. 如果是本机的Oracle就需要在Oracle的安装目录下面改设置:
......
© 2009 ej38.com All Rights Reserved. 关于E健网联系我们 | 站点地图 | 赣ICP备09004571号