【牛客刷题】SQL专项错题记录一

1.雇员表EMP 结构如下 ( 雇员编号 EMPNO , 姓名 ENAME , 工作岗位 JOB , 管理员编号 MGR , 受雇时间 HIREDATE , 工资 SAL , 奖金 COMM , 部门编号 DEPTNO );
下列操作语句正确的是:( )
A.显示在10和30部门工作并且工资大于5500元的雇员的姓名和工资,列标题显示为Employee和Monthly Salary 语句:SELECT ENAME EMPLOYEE ,SAL “MONTHLY SALARY” FROM EMP WHERE DEPTNO IN(10,30)AND SAL>5500;
B.显示受雇时间在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;
C.显示奖金比工资多10%以上的雇员的姓名、工资及奖金。 语句:SELECT ENAME,SAL ,COMM FROM EMP WHERE COMM>SAL*1.1;
D.查询没有奖金且工资低于6500并工作岗位是经理、普通员工、销售员的所有员工信息。 语句:SELECT * FROM EMP WHERE SAL<6500 AND COMM IS NULL AND JOB IN (‘经理’,‘普通员工’,‘销售员’);

答案:A
B选项因为between...and后面加日期的话,短日期默认time为00:00:00 查询日期只能截止到2012-12-31 00:00:00 并没有当天的记录    
C选项应该是COMM>=SAL*1.1    
D选项COMM = 0

2.修改表test_tbl字段i的缺省值为1000,可以使用SQL语句
A.ALTER TABLE test_tbl ALTER i SET DEFAULT 1000;
B.ALTER TABLE test_tbl i SET DEFAULT 1000;
C.ALTER TABLE test_tbl MODIFY i SET DEFAULT 1000;
D.ALTER TABLE test_tbl CHANGE i SET DEFAULT 1000;

答案:A
alter table 表名 alter column 字段名 set default 默认值;
CHANGE 用来修改字段名字以及类型    modify 用来修改字段类型    aiter column ... set  用来修改字段数据 

3.下面哪些字符最可能会导致sql注入?
A.‘(单引号)
B./
C."(双引号)
D.$

答案:A
SQL注入的关键是单引号的闭合

By Mary Super @ 2020.09.28

你可能感兴趣的:(牛客刷题,sql)