【考生回忆版】设有关系,学生(学号,姓名,性别,年龄,系号),学生可能重名,那么不能正确统计出学生总人数的 SQL语句为SELECT(01) FROM学生,可以查询姓名中第二个字母为“M”的学生信息的SQL 语句为SELECT*FROM 学生 WHERE 姓名 LIKE(02)。
问题1选项
A.COUNT(姓名)
B.COUNT(学号)
C.COUNT (*)
D.COUNT (DISTINCT 姓名)
问题2选项
A.’_M%’
B.’%M%’
C.’%M_’
D.’_M_’
第1题:
A. COUNT(姓名):统计姓名的非空值数量。若姓名均非空,结果等于总人数(即使重名)。
B. COUNT(学号):学号唯一,统计结果正确。
C. COUNT(*):统计所有行,结果正确。
D. COUNT(DISTINCT 姓名):统计不同姓名的数量。若存在重名,结果会小于总人数, 导致统计结果错误。
第2题:
要查询姓名中第二个字母为“M”的学生信息,我们需要使用LIKE操作符。LIKE模式中的下划线_代表任意单个字符,百分号%代表零个或多个任意字符。因此,要匹配第二个位置为"M"的任何姓名,模式应该是第一个位置为任意字符(用_表示),第二个位置为"M",后面可以跟随任意数量的任意字符(用%表示)。所以正确的模式是'_M%'(选项A)。其他选项要么不正确地定位了"M"的位置(如'%M%'会匹配任何位置包含"M"的姓名),要么限制了不必要的字符位置(如'%M_'和'_M_')。