2020-04-09

雇员表EMP 结构如下

(  雇员编号 EMPNO ,   姓名 ENAME ,

工作岗位 JOB ,  管理员编号 MGR ,

受雇时间 HIREDATE ,  工资 SAL ,

奖金 COMM ,  部门编号 DEPTNO );

下列操作语句正确的是:(      )

正确答案:A  你的答案:A(正确)

显示在10和30部门工作并且工资大于5500元的雇员的姓名和工资,列标题显示为Employee和Monthly Salary 语句:SELECT ENAME EMPLOYEE ,SAL "MONTHLY SALARY" FROM EMP WHERE DEPTNO IN(10,30)AND SAL>5500;

显示受雇时间在2010年1月1日和2012年12月31日之间的雇员的姓名、工资、及受雇时间,并以受雇时间升序排列。 语句:SELECT ENAME,SAL,HIREDATE FROM EMP WHERE HIREDATE BETWEEN '2010-01-01' AND '2012-12-31' ORDER BY HIREDATE;

显示奖金比工资多10%以上的雇员的姓名、工资及奖金。 语句:SELECT ENAME,SAL ,COMM FROM EMP WHERE COMM>SAL*1.1;

查询没有奖金且工资低于6500并工作岗位是经理、普通员工、销售员的所有员工信息。 语句:SELECT * FROM EMP WHERE SAL<6500 AND COMM IS NULL AND JOB IN ('经理','普通员工','销售员');


修改表test_tbl字段i的缺省值为1000,可以使用SQL语句(   A   )

ALTER TABLE test_tbl ALTER i SET DEFAULT 1000;

ALTER TABLE test_tbl i SET DEFAULT 1000;

ALTER TABLE test_tbl MODIFY i SET DEFAULT 1000;

ALTER TABLE test_tbl CHANGE i SET DEFAULT 10


有一个名为app的MySQL数据库表,其建表语句如下:

CREATE TABLE `app` (

`app_id` int(10) DEFAULT '0',//应用ID

`version_code` int(10) DEFAULT '0',//应用的版本号

`download_count` int(10) DEFAULT '0'//当前版本的下载量

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4

当前表中数据记录如下,一条记录表示某个应用的某个版本的下载量记录:

+--------+--------------+----------------+

| app_id | version_code | download_count |

+--------+--------------+----------------+

|      1 |           10 |             90 |

|      1 |           11 |            100 |

|      1 |           10 |             20 |

|      2 |           15 |             10 |

|      2 |           16 |             15 |

|      2 |           17 |             30 |

|      2 |           16 |              5 |

|      3 |            2 |             50 |

+--------+--------------+----------------+

问: 下面那个MySQL语句可以查出每个应用中总下载量最大的版本号和次数( )?

select t.app_id, t.version_code, max(t.download_sum) from (select app_id, version_code, sum(download_count) download_sum from app

group by app_id, version_code order by download_sum desc) as t group by t.app_id;


有两张表,如下图所示

表A(仅列出部分数据作参考)

Order_id     User_id    Add_time

11701245001 10000    1498882474

11701245002 10001    1498882475

表B:(仅列出部分数据作参考)

id     Order_id     goods_id price

1   11701245001    1001     10

2   11701245001    1002     20

3   11701245002    1001     10

问:用SQL查询 购买过goods_id 为1001的用户user_id()

SELECT user_id from A WHERE order_id in (SELECT order_id from B WHERE goods_id = '1001')

SELECT a.users_id from A a, B b where a.order_id = b.order_id and b.goods_id = '1001'

SELECT A.users_id form A left join B on A.order_id=B.order_id WHERE B.goods_id = '1001'

你可能感兴趣的:(2020-04-09)