SQL实例整理

本文针对SQL初学者,通过一系列实例加深对SQL关键字的理解,包括查询每门课成绩大于80分的学生、删除冗余信息、行转列、复制表结构和数据,以及处理关联表的删除操作。建议读者亲手实践以巩固知识。
摘要由CSDN通过智能技术生成

本文适合将w3school的SQL教程(http://www.w3school.com.cn/sql/sql_create_table.asp)都基本看过一遍的猿友阅读。

说说博主的情况吧。毕业找工作之前确实有大概看过w3school的SQL教程,然后参加校园招聘,每次遇到一些SQL笔试题,立马懵逼了(大写的)。其实我那时候大概知道怎么写的,只是总是写不正确,或者是对一些特定的而且没有见过的场景的SQL语句,根本写不出来。相信不少猿友工作之后,其实挺多都用得不熟吧(如果白板编写的话)。

因为大部分Java猿友工作做的事情,其实比较少情况自己去动手写特定场景的SQL(可能有也是百度,接触过一个会一个),简单SQL也是直接由框架(hibernate和Mybatis)提供接口。当然,那种专门做后台,经常跟数据打交道的Java猿友除外,因此只能说大部分。

如果还是继续保持这样的状态的话,下次自己找工作遇到SQL笔试题,估计也会继续懵逼(大写的)。

下面小宝鸽整理了一些实例(实例主要来自网上),以提升自己写SQL的某些关键字的理解。

1、用一条SQL 语句 查询出每门课都大于80 分的学生姓名。(表结构如下图)

这里写图片描述

答案可以有如下两种:

select distinct student_name from table_test_one where student_name not in 
(select distinct student_name from table_test_one where score<=80);

或者

select student_name from table_test_one group by student_name having min(score)>80;

第二种方法是group by 、min函数 结合 having的使用,w3school教程里面也提到过(在 SQL 中增加 HAVING 子句原因是,WHERE 关键字无法与合计函数一起使用)

似乎看懂了,但是还是没有自己运行一遍深刻!!!自己能动手敲一遍就更好了!
下面我们自己造数据,后面的例子也会用到。

建表然后倒入初始数据:

DROP TABLE IF EXISTS `table_test_one`;
CREATE TABLE `table_test_one` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `student_no` varchar(10) NOT NULL,
  `student_name` varchar(10) NOT NULL,
  `subject_no` varchar(10) NOT NULL,
  `subject_name` varchar(10) NOT NULL,
  `score` int(11) NOT NULL,
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=8 DEFAULT CHARSET=utf8;
INSERT INTO
  • 9
    点赞
  • 47
    收藏
    觉得还不错? 一键收藏
  • 6
    评论
在Flink的安装目录下,主要有以下几个配置文件: 1. flink-conf.yaml:该文件是Flink的主要配置文件,用于设置Flink的全局配置。 2. 日志的配置文件:用于配置Flink的日志打印格式、级别等相关参数。 3. zk配置:用于配置Flink与ZooKeeper的连接信息,以便Flink可以使用ZooKeeper来实现高可用和容错机制。 4. Flink SQL Client配置:用于配置Flink SQL客户端的相关参数,如连接信息、默认目录等。 除了以上配置文件,根据table程序的需要,还可以通过配置一些必要的参数来优化表操作。举个例子,对于无界流程序,可能需要确定必要的状态大小上限。 在Java代码中,可以使用TableEnvironment的getConfig()方法获取Flink的配置对象,然后通过配置对象的setString()方法来设置底层的键值对配置。例如,可以通过以下方式设置mini-batch优化相关的配置参数: ```java // 实例化table environment TableEnvironment tEnv = ...; // 访问flink配置 Configuration configuration = tEnv.getConfig().getConfiguration(); // 设置底层key-value配置 configuration.setString("table.exec.mini-batch.enabled", "true"); // 开启mini-batch优化 configuration.setString("table.exec.mini-batch.allow-latency", "5 s"); // 缓存输入数据5秒 configuration.setString("table.exec.mini-batch.size", "5000"); // 每个聚合操作任务可以缓存的最大数据条数为5000条 ``` 通过以上配置,可以启用mini-batch优化,并设置相应的缓存参数,以提高表操作的性能和效率。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* [Flink 从 0 到 1 学习 —— Flink 配置文件详解](https://blog.csdn.net/tzs_1041218129/article/details/101104375)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* *3* [flink-sql查询配置与性能优化参数详解-1.14](https://blog.csdn.net/u012443641/article/details/127900815)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值