牛客网-SQL专项训练13

①某软件公司正在升级一套水务管理系统。该系统用于县市级供排水企业、供水厂、排水厂中水务数据的管理工作。系统经重新整合后,开发人员决定不再使用一张备份数据表waterinfo001表,需永久删除。选出符合要求的语句:C 

解析:

题目的要求是删除整张waterinfo001表,需要永久删除。故需要用到drop(没有drop from这种用法)

1. drop是完全删除表,包括表结构
2. delete是删除表数据,保留表的结构,而且可以加where,只删除一行或者多行
3. truncate 只能删除表数据,会保留表结构,而且不能加where

-- 创建test数据库

CREATE DATABASE test

 -- 创建person的数据表

CREATE TABLE person(

  name VARCHAR(128),

  age INTEGER

)

-- 删除数据表person

DROP TABLE person

②关于返回受上一个SQL语句影响的行数,下列SQL语句正确的是(C)

 

解析:
@@ERROR:返回执行的上一个 Transact-SQLTransact-SQL 语句的错误号。
@@IDENTITY:返回最后一个插入的标识值,即返回自增id。
@@ROWCOUNT:返回受上一个SQL语句影响的行数。
@@MAX_CONNECTIONS:返回最大用户连接数。
③Mysql中表student_table(id,name,birth,sex),查询不重复的姓名总数,错误的是(C)?

 解析:

C选项:通过name进行分组,获取总的行数,需要查找不重复姓名的总数,c1应该满足:c1 = 1

Mysql中表student_table(id,name,birth,sex),插入如下记录:
('1001' , '' , '2000-01-01' , '男');
('1004' , '张三' , '2000-08-06' , '男');
('1005' , NULL , '2001-12-01' , '女');
('1006' , '张三' , '2001-12-02' , '女');
执行
 select t1.name from 

 (select * from student_table where sex = '女')t1 
 left join 
 (select * from student_table where sex = '男')t2 

 on t1.name = t2.name;
的结果行数是(2)
解析:
左连接,会显示左表性别为女生的所有数据,左表t1只有2条记录,并且包含左表的NULL记录,所以结果是2行。
⑤已知某期刊信息库中有作家信息表author(作者编号aid,作者姓名aname,作者笔名ausername,作者邮箱aemail,备注remarks),稿件表manuscript(稿件编号mid,标题mtitle,作者编号aid,交稿时间mtime)现需要设置外键作者编号,下列语句正确的是(B)

解析:

 A和D选项:由于外键在两表的名称一致,需要指定aid的来源表

C和D选项:设置外键时需要设置外键的关键字CONSTRAINT

posted on 2022-09-16 12:07  我不想一直当菜鸟  阅读(178)  评论(0编辑  收藏  举报