牛客网-SQL专项训练5
①查询运动员表中运动员的所有信息,按照年龄升序,成绩降序排列。SQL语句为:
SELECT * FROM 运动员
ORDER 年龄 ASC, 成绩 DESC;
知识点:
ASC:升序,默认就为升序
DESC:降序
②当WHERE子句、GROUP BY子句、HAVING子句、ORDER BY子句同时出现在一个SQL查询语块中时,最后执行的是( ORDER BY子句)
知识点:
SELECT语法结构:
SELECT [DISTINCT] 字段名
FROM 表名
[WHERE] 条件筛选
[GROUP BY] 分组
[HAVING] 分组筛选
[ORDER BY] 排序
[LIMIT] 名次或分页
执行顺序:
(1)首先运算的是FROM子句,根据FROM子句中指定的一个或多个表创建工作表;
(2)如果存在WHERE子句,则WHERE子句对步骤1获得的工作表进行条件筛选,删除不符合条件的记录;
(3)如果存在GROUP BY子句,则对步骤2生成的结果表按指定字段进行分组,生成一份新的结果表;
(4)如果存在HAVING子句,则对步骤3的结果表按指定条件进行筛选,删除掉不满足筛选条件的记录;
(5)执行SELECT子句,删除不包含在SELECT 字段名,所指定的字段。如果SELECT子句中包含关键字DISTINCT,则执行去重复运算……
(6)如果有ORDER BY子句,则按指定的排序规则对结果表进行排序操作;
(7)如果需要找前几名,用LIMIT名次。
③Mysql中表student_table(id,name,birth,sex),查询张姓、李姓的学生总人数,错误的是(C)?

解析:
观察四个选项,A、D选项用的sum函数, 满足条件记为1,不满足条件记为0或者null,最终总和就是符合条件的人数,B、C用的count函数,B选项满足条件记为2,不满足条件记为null,最终记的是2的个数,不计null的个数,最后还是相当于满足条件的人数,而C选项,满足条件的记为1,不满足条件的记为0,最终计算的个数即包括1的个数也包括0的个数,不符合条件 ,故C错。
④下列数据库备份类型中,仅记录自最近一次完整数据库备份以后发生改变的数据的是(B)

知识点:
1、完全备份
这可能是大多数人常用的方式,它可以备份整个数据库,包含用户表、系统表、索引、视图和存储过程等所有数据库对象。但是呢,它也需要花费更多的时间和空间,所以,一般推荐一周做一次完全备份。
2、事务日志备份
事务日志是一个单独的文件,它记录数据库的改变,备份的时候只需要复制自上次备份以来对数据库所做的改变,所以只需要很少的时间。为了使数据库具有鲁棒性,推荐每小时甚至更频繁的备份事务日志。
3、差异备份
也叫增量备份。它是只备份数据库一部分的另一种方法,它不使用事务日志,相反,它使用整个数据库的一种新映象。它比最初的完全备份小,因为它只包含自上次完全备份以来所改变的数据库。它的优点是存储和恢复速度快。推荐每天做一次差异备份。
4、文件备份
数据库可以由硬盘上的许多文件构成。如果这个数据库非常大,并且一个晚上也不能将它备份完,那么可以使用文件备份每晚备份数据库的一部分。由于一般情况下数据库不会大到必须使用多个文件存储,所以这种备份不是很常用
⑤Mysql(版本8.0.25)中表student_table(id,name,birth,sex),插入如下记录:
('1004' , '张三' ,'2000-08-06' , '男');
('1009' , '李四', '2000-01-01', '男');
('1010' , '李四', '2001-01-01', '男');
('1006' , '王五', '2000-08-06' , '女');
('1008' , '张三', '2002-12-01', '女');
('1012' , '张三', '2001-12-01', '女');
('1011' , '李四', '2002-08-06' , '女');
select t1.*,t2.*
from (
select * from student_table where sex = '男' ) t1
full join
(select * from student_table where sex = '女') t2
B.

C.

D.

解析:
题中要求是全连接:

内连接:

左连接:

右连接:

C选项中:
第1次union all 左连结且右表字段是null的记录,

第2次union all 右连结且左表字段是null的记录

这正是与题目中全连接结果相同。
题解中参考别人的讲解:用排除法,画韦恩图就好了。full join是全连接,内连接是两圆的交集,左连接是左圆,右连接是右圆,全连接是左圆去掉交集部分+交集部分+右圆去掉交集部分。“去掉”在代码里表示出来就是XX IS NULL。找两个IS NULL就是答案。
牛客网-SQL专项训练5的更多相关文章
- MySql面试题、知识汇总、牛客网SQL专题练习
点击名字直接跳转到链接: Linux运维必会的100道MySql面试题之(一) Linux运维必会的100道MySql面试题之(二) Linux运维必会的100道MySql面试题之(三) Linux运 ...
- 牛客网Sql
牛客网Sql: 1.查询最晚入职的员工信息 select * from employees where hire_date =(select max(hire_date) from employee ...
- 牛客网多校训练第二场D Kth Minimum Clique
链接:https://ac.nowcoder.com/acm/contest/882/D来源:牛客网 Given a vertex-weighted graph with N vertices, fi ...
- 牛客网sql刷题解析-完结
查找最晚入职员工的所有信息 解题步骤: 题目:查询最晚入职员工的所有信息 目标:查询员工的所有信息 筛选条件:最晚入职 答案: SELECT *--查询所有信息就用* ...
- 牛客网多校训练第四场C sequence
(牛客场场有笛卡尔树,场场都不会用笛卡尔树...自闭,补题心得) 题目链接:https://ac.nowcoder.com/acm/contest/884/C 题意:给出两个序列a,b,求max{mi ...
- 牛客网2018暑期训练 第三场 a题
#include <bits/stdc++.h> using namespace std; vector<int> path; ; short dp[maxn][maxn][m ...
- Java基础之引用(String,char[],Integer)总结于牛客网的专项练习题
1.String的引用: 下列代码执行后的结果为: public class Test { public static void main(String[] args) { StringBuffer ...
- 牛客网多校训练第三场 C - Shuffle Cards(Splay / rope)
链接: https://www.nowcoder.com/acm/contest/141/C 题意: 给出一个n个元素的序列(1,2,...,n)和m个操作(1≤n,m≤1e5),每个操作给出两个数p ...
- 牛客网多校训练第三场 A - PACM Team(01背包变形 + 记录方案)
链接: https://www.nowcoder.com/acm/contest/141/A 题意: 有n(1≤n≤36)个物品,每个物品有四种代价pi,ai,ci,mi,价值为gi(0≤pi,ai, ...
- 牛客网多校训练第一场 J - Different Integers(树状数组 + 问题转换)
链接: https://www.nowcoder.com/acm/contest/139/J 题意: 给出n个整数的序列a(1≤ai≤n)和q个询问(1≤n,q≤1e5),每个询问包含两个整数L和R( ...
随机推荐
- Vue3 好文收藏
实用!最新的几个 Vue 3 重要特性提案 http://www.zyiz.net/tech/detail-142574.html
- 使用systemback工具制定Debian.ISO文件
1.安装systemback https://nchc.dl.sourceforge.net/project/systemback/1.8/Systemback_Install_Pack_v1.8.4 ...
- 关于C++ 多态实现技术的深度解析(vfptr,vftable)
PS:要转载请注明出处,本人版权所有. PS: 这个只是基于<我自己>的理解, 如果和你的原则及想法相冲突,请谅解,勿喷. 前置说明 本文作为本人csdn blog的主站的备份.(Bl ...
- python面向对象(反射、内置方法、元类)
一 反射 # 静态语言:在执行前就定义好数据类型 # var x int=8 # 动态语言:在执行的时候,才识别数据类型 # x = 8 # 什么是反射? # 指的是在程序运行过程中可以"动 ...
- 记录--整会promise这8个高级用法
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 发现很多人还只会promise常规用法 在js项目中,promise的使用应该是必不可少的,但我发现在同事和面试者中,很多中级或以上的前端 ...
- 记录--UNI-APP安卓本地打包详细教程(保姆级)
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 一.开发环境 uni-app 官方文档地址 原生开发者支持 1.Android Studio 下载地址:Android Studio官网 ...
- 记录--使用Vue开发Chrome插件
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 环境搭建 Vue Web-Extension - A Web-Extension preset for VueJS (vue-web-ex ...
- 记录--uniapp 应用APP跳转微信小程序
这里给大家分享我在网上总结出来的一些知识,希望对大家有所帮助 最近APP项目开发完成,在评审会上老板提了一个需求,想在开发的APP上添加一个链接,可以跳转公司的小程序商城. 原以为会很复杂,结果只有短 ...
- 快速上手系列:HTML
一 HTML 基本元素 基本结构 <html> <head> <meta http-equiv="Content-Type" content=&quo ...
- 《On Java 8》笔记
第一章 对象的概念 复用 组合和聚合 组合(Composition)经常用来表示"拥有"关系(has-a relationship).例如,"汽车拥有引擎" 聚 ...