①在下列sql语句错误的是?B
解析:
在sql中若要取得NULL,则必须通过IS NULL或者IS NOT NULL进行获取,无法直接使用等号。
- 一个等号(=)表示把1赋值给变量啊
- ==:称为等值符,当等号两边的类型相同时,直接比较值是否相等,若不相同,则先转化为类型相同的值,再进行比较;
- ===:称为(恒等于)等同符,当两边值的类型相同时,直接比较值,若类型不相同,直接返回false;
②为职员表添加列,列名为年末奖金,允许为空值,数据类型为货币数据类型。下列SQL语句正确的是(B)
解析:
列的定义中必须包括数据类型,故A错;
题中中说了允许为空值,故C错;
sql中货币数据类型:
money:货币型
money 数据类型用来表示钱和货币值。这种数据类型能存储从-9220亿到9220 亿之间的数据,精确到货币单位的万分之一
smallmoney:货币型
smallmoney 数据类型用来表示钱和货币值。这种数据类型能存储从-214748.3648 到214748.3647 之间的数据,精确到货币单位的万分之一
③Mysql中表student_info(id,name,birth,sex),字段类型都是varchar,插入:1016 , 王五 , 2003-03-01 , 男;
解析:
指定插入哪些字段,字段名顺序与字段值顺序一致即可,可以用反引号(``)也可以不用反引号,但是不能用单引号('') ,加 '' 时会执行报错。故C错误。
④Mysql(版本8.0.25)中表student_table(id,name,birth,sex),插入如下记录:
('1004' , '张三' , '2000-08-06' , '男');('1005' , NULL , '2001-12-01' , '女'); ('1006' , '张三' , '2000-08-06' , '女'); ('1007' , ‘王五’ , '2001-12-01' , '男'); ('1008' , '李四' , NULL, '女'); ('1009' , '李四' , NULL, '男'); ('1010' , '李四' , '2001-12-01', '女'); 执行 select t1.*,t2.*
from (
select * from student_table where sex = '男' ) t1
full join
(select * from student_table where sex = '女') t2
on t1.birth = t2.birth and t1.name = t2.name ;
的结果行数是:执行错误 解析: 现在我只要一看到Mysql(版本8.0.25)加上使用full join我就会知道报错了,哈哈哈,遇到太多这种题了,条件反射了。 oracle里面有full join,但是在mysql中没有full join,可以使用union来达到目的。 ⑤在MySql中进行数据查询时,如果要对查询结果的列名重新命名,将sno列重新命名为学号,则下列语句正确的是( AC)
解析:
as可以用做重命名,也可以省略as,空格隔开新名称即可。(这个最不该错!!!)
标签:name,18,数据类型,t1,牛客,birth,SQL,t2,NULL From: https://www.cnblogs.com/liu-myu/p/16712513.html