未分类题

工厂的信息管理数据库中有两个关系模式:
职工(职工号,姓名,年龄,月工资,部门号,电话,办公室)
部门(部门号,部门名,负责人代码,任职时间)
查询每个部门中月工资最高的“职工号”的SQL查询语句如下:
SELECT 职工号 FROM 职工 E
WHERE 月工资=(SELECT MAX(月工资)
FROM 职工 AS M
WHERE M.部门号=E.部门号);
①请用30字以内的文字简要说明该查询语句对查询效率的影响。
②对该查询语句进行修改,使它既可以完成相同功能,又可以提高查询效率。

A.部门号=E.部门号);


【参考答案】

此问考查的是查询效率的问题。在涉及相关查询的某些情形中构造临时。关系可以提高查询效率。 ①对于外层的职工关系E中的每一个......

(↓↓↓ 点击下方‘点击查看答案’看完整答案 ↓↓↓)
热门 试题

未分类题
请认真阅读以下关于某传输系统的技术说明、状态转换图及C++代码,根据要求回答问题1和问题2。【说明】传输门是传输系统中的重要装置。传输门具有Open(打开)、Closed(关闭)、Opening(正在打开)、StayOpen(保持打开)和Closing(正在关闭)5种状态。触发状态的转换事件有click、complete和timeout 3种,事件与其相应的状态转换如图6-18所示。下面的【C++代码1】与【C++代码2】分别用两种不同的设计思路对传输门进行状态模拟,请填补代码段中的空缺语句。【C++代码1】const int CLOSED = 1; const int PENING = 2;const int PEN = 3; const int CLOSING = 4;const int STAYOPEN = 5; 定义状态变量,用不同整数表示不同状态class Door {private:private:int state; 传输门当前状态void setState(int state) { this->state = stale; } 设置当前状态public:Door () :state (CLOSED) { };void getState() { 根据当前状态输出相应的字符串switch(state) {case OPENING: cout <<'OPENING' << endl; break;case CLOSED: cout << 'CLOSED' << endl; break;case OPEN: cout << 'OPEN' << endl; break;case CLOSING: cout << 'CLOSING' << endl; break;case STAYOPEN: cout << 'STAYOPEN' << endl; break;}}void click() { 发生click事件时进行状态转换if ( (1) ) setState(OPENING);else if ( (2) ) setState(CLOSING);else if ( (3) ) setState(STAYOPEN);}void timeout() { 发生timeout事件时进行状态转换if (state == OPEN) setState(CLOSING);}void complete() { 发生complete事件时进行状态转换if (state == OPENING) setState(OPEN);else if (state == CLOSING) setState(CLOSED);}};int main(){Door aDoor;aDoor.getState(); aDoor.click(); aDoor.getState(); aDoor.complete();aDoor.getState(); aDoor.click(); aDoor.getState(); aDoor.click();aDoor.getState(); return 0;}【C++代码2】class Door {public:DoorState *CLOSED, *OPENING, *OPEN, *CLOSING, *STAYOPEN, *state;Door();virtual ~Door() { ... 释放申请的内存,此处代码省略};void s