MySQL面试题 | 08.精选MySQL面试题

在这里插入图片描述

🤍 前端开发工程师(主业)、技术博主(副业)、已过CET6
🍨 阿珊和她的猫_CSDN个人主页
🕠 牛客高级专题作者、在牛客打造高质量专栏《前端面试必备》
🍚 蓝桥云课签约作者、已在蓝桥云课上架的前后端实战课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入门到实战全面掌握 uni-app》

文章目录

    • 什么是内连接、外连接和交叉连接?
    • 在JOIN中,什么情况下使用LIKE操作符,什么情况下使用%通配符?
    • 什么是子查询?如何在 MySQL 中使用子查询?

什么是内连接、外连接和交叉连接?

在数据库中,连接(JOIN)操作用于将两个或多个表中的数据关联起来,基于它们之间的共同列。

以下是内连接、外连接和交叉连接的简要解释:

  1. 内连接(INNER JOIN):内连接返回两个表中匹配的行。它只返回那些在连接条件上匹配的行。内连接基于表之间的共享列值进行匹配,并排除不匹配的行。

    语法示例:

    SELECT * 
    FROM table1
    INNER JOIN table2 ON table1.column = table2.column;
    
  2. 外连接(OUTER JOIN):外连接返回两个表中匹配的行以及一些不匹配的行。根据外连接的类型,可以返回左表(左外连接)或右表(右外连接)的所有行,以及与另一个表匹配的行。外连接可以用于获取关联表中所有的数据,包括那些在另一个表中没有匹配的行。

    • 左外连接(LEFT OUTER JOIN):返回左表的所有行以及与右表匹配的行。如果在右表中没有匹配的行,则右侧列的值将为 NULL。

    语法示例:

    SELECT * 
    FROM table1
    LEFT OUTER JOIN table2 ON table1.column = table2.column;
    
    • 右外连接(RIGHT OUTER JOIN):返回右表的所有行以及与左表匹配的行。如果在左表中没有匹配的行,则左侧列的值将为 NULL。

    语法示例:

    SELECT * 
    FROM table1
    RIGHT OUTER JOIN table2 ON table1.column = table2.column;
    
  3. 交叉连接(CROSS JOIN):交叉连接返回两个表的笛卡尔积,即每个行与另一个表中的所有行组合。

    语法示例:

    SELECT * 
    FROM table1
    CROSS JOIN table2;
    

这些连接类型在查询数据时非常有用,可以根据具体的需求选择适当的连接类型来关联和获取相关联的数据。

在JOIN中,什么情况下使用LIKE操作符,什么情况下使用%通配符?

JOIN中,LIKE操作符用于模糊匹配%通配符用于匹配任意字符序列(包括空字符序列)。通常在以下情况下使用LIKE操作符和%通配符:

  • 想要在关联两个或多个表时,使用模糊匹配来筛选出符合条件的数据。
  • 当进行模糊匹配时,需要匹配任意字符序列或空字符序列。

下面提供一个使用LIKE操作符和%通配符的具体示例:

SELECT * FROM users INNER JOIN orders 
ON users.id = orders.user_id 
WHERE orders.product LIKE '%keyword%';

上述代码将返回在orders表的product字段中包含关键字keyword的结果集。

请注意,在实际应用中请根据自己的场景需求对于示例中的表名及字段名进行修改。

什么是子查询?如何在 MySQL 中使用子查询?

子查询是主查询内部嵌套的查询语句。子查询可以在主查询中作为一个表达式使用,以获取相关的数据来满足主查询的条件。

在 MySQL 中,使用子查询的方式如下:

  1. 在主查询中使用子查询作为条件:可以将子查询的结果作为条件传递给主查询,以便在主查询中进行数据过滤或关联。

  2. 在主查询中使用子查询作为表达式:可以将子查询的结果作为表达式在主查询中进行计算或操作。

以下是一些示例,展示如何在 MySQL 中使用子查询:

-- 选择工资大于部门平均工资的员工
SELECT * FROM employees
WHERE salary > (SELECT AVG(salary) FROM employees GROUP BY department);-- 选择项目经理的姓名和项目名称
SELECT project_manager, project_name
FROM projects
WHERE project_manager IN (SELECT name FROM employees WHERE role = '项目经理');-- 选择客户所在城市的订单信息
SELECT * FROM orders
WHERE customer_city = (SELECT city FROM customers WHERE customer_id = orders.customer_id);

这些示例只是子查询的一些常见用法,子查询可以在很多场景中使用,具体取决于你的查询需求。

请注意,子查询的性能可能会受到影响,特别是在涉及大量数据或复杂计算时。在使用子查询时,应尽量优化查询逻辑和索引,以提高查询性能。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/238293.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

AArch64 memory management学习(二)

提示 该博客主要为个人学习,通过阅读官网手册整理而来(个人觉得阅读官网的英文文档非常有助于理解各个IP特性)。若有不对之处请参考参考文档,以官网文档为准。AArch64 memory management学习一共分为两章,这是第二章。…

实战 | 某电商平台类目SKU数获取与可视化展示

一、项目背景 最近又及年底,各类分析与规划报告纷至沓来,于是接到了公司平台类目商品增长方向的分析需求,其中需要结合外部电商平台做对比。我选择了国内某电商平台作为比较对象,通过获取最细层级前台类目下的SKU数以及结构占比&…

Java网络爬虫--HttpClient

目录标题 技术介绍有什么优点?怎么在项目中引入? 请求URLEntityUtils 类GET请求带参数的GET请求POST请求 总结 技术介绍 HttpClient 是 Apache Jakarta Common 下的子项目,用来提供高效的、功能丰富的、支持 HTTP 协议的客户端编程工具包。相…

八分钟了解一致性算法 -- Raft算法

前言 #### 分布式一致性在分布式环境中,一致性是指数据在多个副本之间是否能够保持一致的特性。 #### 分布式一致性算法比较常见的一致性算法包括Paxos算法,Raft算法,ZAB算法等• Paxos是Leslie Lamport提出的一种基于消息传递的分布式一致性算法。很多分布式一致性算法都由…

机器学习根据金标准标记数据-九五小庞

根据金标准标记数据是一种在机器学习和数据科学中常见的操作,主要用于评估分类模型的性能。其基本步骤如下: 收集数据:首先需要收集相关领域的原始数据,这些数据通常来自不同的来源和渠道。数据清洗和预处理:在这一步…

什么是Modbus协议?

Modbus协议是一种在工业自动化领域广泛应用的通信协议,它允许不同设备之间进行可靠的数据交换和控制。该协议最初由Modicon公司于1979年创建,旨在提供一种简单而有效的方法,使PLC(可编程逻辑控制器)和其他自动化设备能…

四搭建dockerhub私有仓库

搭建dockerhub私有仓库 很多场景下,我们需使用私有仓库管理Docker镜像。相比Docker Hub,私有仓库有以下优势: 节省带宽,对于私有仓库中已有的镜像,无需从Docker Hub下载,只需从私有仓库中下载即可&#x…

Vue学习笔记五--路由

1、什么是路由 2、VueRouter 2、1VueRouter介绍 2、2使用步骤 2、3路由封装 3、router-link 3.1两个类名 3.2声明式导航传参 4、路由重定向、404 当找不到路由时,跳转配置到404页面 5、路由模式 6、通过代码跳转路由---编程式导航&传参 路由跳转时传参 跳转方式…

【漏洞复现】大华 DSS 数字监控系统 itcBulletin SQL 注入

漏洞描述 大华 DSS存在SQL注入漏洞,攻击者 pota/services/itcBuletin 路由发送特殊构造的数据包,利用报错注入获取数据库敏感信息。攻击者除了可以利用 SQL注入漏词获取数据库中的信息例如,管理员后台密码、站点的用户人人信息)之外,甚至在高权限的情况可向服务器中写入木…

【Python数据可视化】matplotlib之绘制高级图形:散点图、热力图、等值线图、极坐标图

文章传送门 Python 数据可视化matplotlib之绘制常用图形:折线图、柱状图(条形图)、饼图和直方图matplotlib之设置坐标:添加坐标轴名字、设置坐标范围、设置主次刻度、坐标轴文字旋转并标出坐标值matplotlib之增加图形内容&#x…

嘴尚绝卤味:健康卤味风潮来袭,引领卤味市场新变革!

随着生活水平的提高,人们对食品的需求已不再满足于基本的口感和饱腹,健康、营养成为越来越多人关注的焦点。在这种背景下,健康卤味理念应运而生,并迅速在卤味市场引发了一场深刻的变革。 健康卤味理念强调选用优质、健康的食材&am…

SpringBoot3 WebFlux 可观测最佳实践

前言 链路追踪是可观测性软件系统的一个非常好的工具。它使开发人员能够了解应用程序中和应用程序之间不同交互发生的时间、地点和方式。同时让观测复杂的软件系统变得更加容易。 从Spring Boot 3开始,Spring Boot 中用于链路追踪的旧 Spring Cloud Sleuth 解决方…

反射助你无痛使用Semantic Kernel接入离线大模型

本文主要介绍如何使用 llama 的 server 部署离线大模型,并通过反射技术修改 Semantic Kernel 的 OpenAIClient 类,从而实现指定端点的功能。最后也推荐了一些学习 Semantic Kernel 的资料,希望能对你有所帮助。 封面图片: Dalle3 …

docker/华为云cce 部署nacos 2.3.0 集群模式

镜像地址 https://hub.docker.com/r/nacos/nacos-server 版本 nacos/nacos-server:v2.3.0-slim 关键环境变量 使用mysql数据源 变量值备注MODEcluster启用集群模式MYSQL_SERVICE_DB_NAME数据库名MYSQL_SERVICE_USER数据库用户名MYSQL_SERVICE_PASSWORD数据库密码SPRING_D…

WPF 布局

了解 WPF中所有布局如下,我们一一尝试实现,本文档主要以图形化的形式展示每个布局的功能。 布局: Border、 BulletDecorator、 Canvas、 DockPanel、 Expander、 Grid、 GridView、 GridSplitter、 GroupBox、 Panel、 ResizeGrip、 Separat…

API设计:从基础到最佳实践

1*vWvkkgG6uvgmJT8GkId98A.png 在这次深入探讨中,我们将深入了解API设计,从基础知识开始,逐步进阶到定义出色API的最佳实践。 作为开发者,你可能对许多这些概念很熟悉,但我将提供详细的解释,以加深你的理解…

13、Redis高频面试题

1、项目中为什么用Redis 我们项目中之所以选择Redis,主要是因为Redis有下面这些优点: 操作速度快:Redis的数据都保存在内存中,相比于其它硬盘类的存储,速度要快很多数据类型丰富:Redis支持 string&#x…

【题解】—— 每日一道题目栏

2024.1 【题解】—— LeetCode一周小结1 1. 1599. 经营摩天轮的最大利润 2. 466. 统计重复个数 3. 2487. 从链表中移除节点 4. 2397. 被列覆盖的最多行数 5. 1944. 队列中可以看到的人数 6. 2807. 在链表中插入最大公约数 7. 383. 赎金信 【题解】—— LeetCode一周小…

易安联参与制定的《面向云计算的零信任体系》行业标准即将实施

中华人民共和国工业和信息化部公告2023年第38号文件正式发布行业标准:YD/T 4598.2-2023《面向云计算的零信任体系 第2部分:关键能力要求》及YD/T 4598.3-2023《面向云计算的零信任体系 第3部分:安全访问服务边缘能力要求》,并于20…

代码随想录 Leetcode242. 有效的字母异位词

题目&#xff1a; 代码&#xff08;首刷看解析 2024年1月14日&#xff09;&#xff1a; class Solution { public:bool isAnagram(string s, string t) {int hash[26] {0};for(int i 0; i < s.size(); i) {hash[s[i] - a];}for(int i 0; i < t.size(); i) {hash[t[i]…