①MySQL是一种(关系型)数据库管理系统。

关系型数据库的代表包括Oracle, Sql Server, MySQL。

②小李在创建完一张数据表后,发现少创建了一列,此时需要修改表结构,应该用哪个语句进行操作?C

解析:

题目中说了需要修改表的结构, 故需要使用alter table

添加列: ALTER TABLE   表名   add 字段名
修改列:  ALTER TABLE   表名   modify 字段名
删除列:  ALTER TABLE   表名   drop 字段名
INSERT是插入语句,UPDATE是更新语句,修改表的数据,并不修改表的结构。

Mysql中表student_table(id,name,birth,sex),插入如下记录:
('1001' , '' , '2000-01-01' , '男');
('1002' , null , '2000-12-21' , '男');
('1003' , NULL , '2000-05-20' , '男');
('1004' , '张三' , '2000-08-06' , '男');
('1005' , '李四' , '2001-12-01' , '女');
查询2001年及之后出生的男生、女生总数,正确的SQL是:
解析:
题中所求的男生,女生的总数,故select sex count(*)
查询的表是student_table
条件的2001年及之后出生的
需要通过sex性别进行分组
select sex count(*)
from student_table
where birth >= '2001'
group by sex;
④有一张person表,主键是id,数据如下:

同时还有一张任务表task,主键也是id:

请找出每个人的任务情况(注意:没有任务也要输出),结果按id降序排列,输出如下:

下面正确的SQL查询语句是:A

解析:

其实仔细观察每个选项的区别,就知道这道题主要考查的是JOIN连接的使用(LEFT JOIN 、JOIN、INNER JOIN、RIGHT JOIN)

观察结果表:
有两个Ming,一个Dong,且 Dong后面的content为null,就能看出来是以person表为主表,task为从表左连接,并以两个表的id相等作为条件连接,以id降序排列显示,这样就会显示左表的所有数据,右边没有与之匹配的久为空。A选项符合
B选项:只获取两表相匹配的数据,没有对应值的就会去掉,所以会漏掉没有任务的情况;
C选项:会获取task表的所有记录,会剔除掉Dong,和题意相反了;
D选择:同样错在会获取两个表中字段匹配关系的记录,漏掉没有任务的情况。

有一张学生成绩表sc(sno 学号,class 课程,score 成绩),示例如下:
可以查询出每个学生的英语、数学的成绩(行转列,一个学生输出一行记录,比如输出[1, 89, 90]的SQL语句?
select sno,
sum(if(class='english',score,0)) as english,
sum( if(class='math',score,0) ) as math
from sc
where class in('english','math')
group by sno
解析:
1.sum函数作用:不加的话就会导致 
 sno english math
  1       90        0
  1       0         85
而我们想要的结果是:
sno english math
  1      90      85 
将上面2条记录合并
2.group by作用:不加会导致所有学生英语成绩都加在一起,数学成绩也会加在一起
 

牛客网-SQL专项训练15的更多相关文章

  1. 牛客网Sql

    牛客网Sql: 1.查询最晚入职的员工信息  select * from employees where hire_date =(select max(hire_date) from employee ...

  2. MySql面试题、知识汇总、牛客网SQL专题练习

    点击名字直接跳转到链接: Linux运维必会的100道MySql面试题之(一) Linux运维必会的100道MySql面试题之(二) Linux运维必会的100道MySql面试题之(三) Linux运 ...

  3. 牛客网多校训练第二场D Kth Minimum Clique

    链接:https://ac.nowcoder.com/acm/contest/882/D来源:牛客网 Given a vertex-weighted graph with N vertices, fi ...

  4. 牛客网sql刷题解析-完结

    查找最晚入职员工的所有信息 解题步骤: 题目:查询最晚入职员工的所有信息        目标:查询员工的所有信息 筛选条件:最晚入职           答案: SELECT *--查询所有信息就用* ...

  5. 牛客网多校训练第四场C sequence

    (牛客场场有笛卡尔树,场场都不会用笛卡尔树...自闭,补题心得) 题目链接:https://ac.nowcoder.com/acm/contest/884/C 题意:给出两个序列a,b,求max{mi ...

  6. 牛客网sql实战参考答案(mysql版):1-15

    1.查找最晚入职员工的所有信息,为了减轻入门难度,目前所有的数据里员工入职的日期都不是同一天(sqlite里面的注释为--,mysql为comment) CREATE TABLE `employees ...

  7. 牛客网2018暑期训练 第三场 a题

    #include <bits/stdc++.h> using namespace std; vector<int> path; ; short dp[maxn][maxn][m ...

  8. Java基础之引用(String,char[],Integer)总结于牛客网的专项练习题

    1.String的引用: 下列代码执行后的结果为: public class Test { public static void main(String[] args) { StringBuffer ...

  9. 牛客网多校训练第三场 C - Shuffle Cards(Splay / rope)

    链接: https://www.nowcoder.com/acm/contest/141/C 题意: 给出一个n个元素的序列(1,2,...,n)和m个操作(1≤n,m≤1e5),每个操作给出两个数p ...

  10. 牛客网多校训练第三场 A - PACM Team(01背包变形 + 记录方案)

    链接: https://www.nowcoder.com/acm/contest/141/A 题意: 有n(1≤n≤36)个物品,每个物品有四种代价pi,ai,ci,mi,价值为gi(0≤pi,ai, ...

随机推荐

  1. [已读带总结] Effective JavaScript 编写高质量JavaScript代码的68个有效方法

    目录 电子书下载:https://www.jb51.net/books/328297.html 第2章 第11条 熟练掌握闭包 https://www.cnblogs.com/wengxuesong/ ...

  2. python3中print()函数打印多个变量值

    第一种方法: print("变量1", file_name, "变量2", new_name) print("变量1", file_name ...

  3. Kubernetes集群部署Node Feature Discovery组件用于检测集群节点特性

    1.概述 Node Feature Discovery(NFD)是由Intel创建的项目,能够帮助Kubernetes集群更智能地管理节点资源.它通过检测每个节点的特性能力(例如CPU型号.GPU型号 ...

  4. Harris/Shi-Tomasi角点检测

    机器视觉--角点检测 什么是角点检测 在几何学里,我们会看到各种各样的三角形.多边形等,它们都有一个显著的特征:包含了角点信息.比如在三角形里,我们有三个角:在矩形里,我们有四个角.我们将找到这些图像 ...

  5. 什么是3D可视化,为什么要使用3D可视化

    虽然许多设计师听说过为什么设计的可视化在他们的审批过程中是有益的,但并不是每个人都知道3D可视化到底是什么. 3D可视化与3D图形.3D渲染.计算机生成图像和其他术语同义使用.3D可视化是指使用计算机 ...

  6. Linux输入输出

    1.重定向概述 1.什么是重定向 将原本要输出到屏幕的数据信息,重新定向到某个指定的文件中.比如:每天凌晨定时备份数据,希望将备份数据的结果保存到某个文件中. 这样第二天通过查看文件的内容就知道昨天备 ...

  7. FreeRTOS教程7 事件组

    1.准备材料 正点原子stm32f407探索者开发板V2.4 STM32CubeMX软件(Version 6.10.0) Keil µVision5 IDE(MDK-Arm) 野火DAP仿真器 XCO ...

  8. Mysql中的锁(case篇)

    case1(表锁的读-写-读阻塞) 上篇文档中提到过 WRITE locks normally have higher priority than READ locks to ensure that ...

  9. 英语文档之vivado界面

    vivado英文界面 一.界面内容 图中就是vivado常用的界面. 二.常用窗口 首先是左侧的project manager:IP INTEGRATOR(IP 集成器),simulation(仿真) ...

  10. java使用ftp连接linux处理文件

    1.Maven依赖 <!-- FTP使用包 --> <dependency> <groupId>commons-net</groupId> <ar ...