”工欲善其事,必先利其器。“—孔子《论语.录灵公》
首页 > 编程 > 加入。

加入。

发布于2024-11-04
浏览:129

加入

SQL JOIN 语句用于根据两个或多个表之间的公共列(字段)组合来自两个或多个表的数据行。

JOIN.
这是用Microsoft SQL显示数据库中的表

use DWDiagnostics
SELECT table_name =name
  FROM sys.tables;

内连接。

这是最基本的SQL连接。它允许我们将两个表合并在一起。JOIN 和 INNER JOIN 将返回相同的结果。
INNER 是 JOIN 的默认连接类型,因此当您编写 JOIN 时,解析器会写入 INNER JOIN
句法

SELECT column name(s)
      FROM table 1
      INNER JOIN Table2 
      ON table1.column_name = table2.column_name

上面是两张订单表,客户假设您想要查找订购笔记本电脑的客户的电话号码
只要满足条件,SQL INNER JOIN 语句就会返回多个表中的所有行。

  SELECT*
  FROM employee_demographics  AS dem
  INNER JOIN employee_salary AS sal
  ON dem.employee_id =sal.employee_id
;

On 用于显示我们要合并在一起的列,请记住在要合并的列之前命名两个表。

左连接 SQL 。

SQL left JOIN 语句返回左表中的所有行以及右表中的匹配行。
LEFT JOIN 返回左表中的所有行以及右表中的匹配行。如果右表中没有匹配项,则结果将包含右表中列的 NULL 值。
结果集:包含左表中的所有行,无论右表是否有匹配。
不匹配行:如果右表中没有匹配项,则右表中的列将包含 NULL 值。

SELECT Employees.name, Salaries.salary
FROM Employees
LEFT JOIN Salaries
ON Employees.id = Salaries.emp_id;

正确加入。

也称为右外连接 - 一种连接类型,它返回右表中的所有行以及左表中的匹配行。如果未找到匹配项,则为左表返回 NULL 值。

SELECT column_names
FROM table1
RIGHT JOIN table2
ON table1.column = table2.column;

全员加入。

它结合了 LEFT JOIN 和 RIGHT JOIN 的结果。它返回两个表中的所有行。如果两个表之间存在匹配,则连接结果将具有双方。缺失数据将具有 NULL 值。
选择列名
从表1
全连接表2
ON table1.column = table2.column;

交叉连接。

返回两个表的笛卡尔积。它将第一个表中的每一行与第二个表中的每一行组合起来。

SELECT columns
FROM table1
CROSS JOIN table2;

子查询 - 是包含在另一个查询中的选择查询。内部选择查询通常用于确定外部选择查询的结果。

 Select Dept from employees 
 where salary =(Select Max(Salary) from Employees);

so Select Max(salary )fromEmployees - 是首先执行的内部查询,然后接下来执行外部查询,即从员工中选择部门。

1.内连接和自连接有什么区别?
自连接是内连接的一种。
内连接用于返回两个表中都存在的记录。而在自联接中,表会与其自身联接。

2.全连接和交叉连接的区别是什么?
左外连接和右外连接组合形成完整外连接。当不满足 ON 条件时,它将插入 NULL 值并返回两个表中与查询的 WHERE 子句匹配的所有行。而交叉联接通过在两个表之间创建笛卡尔积来返回所有行的所有可能组合。

3.描述等值连接。
在这种连接中,表可以根据模型在指定列中有效地进行组合。一些等连接功能是:

  • 列名不必匹配。
  • 结果表中偶尔会出现重复的列。
  • 在两个表上,可以执行等值连接。

4.您能描述一下SQL嵌套连接吗?
嵌套联接本质上使用一个具有联接表的表作为外部输入表,另一个作为内部输入表。嵌套循环连接涉及从外表中检索一行,在内表中搜索该行,并重复此过程,直到确实找到了外表中的所有生产行。

5.什么是自然连接?
自然联接根据两个表的共享属性建立隐式联接子句。两个表中共享属性的名称相同。与等值连接相比,自然连接不需要比较运算符。

6.字段和表的作用是什么?
在关系数据库中,表是按行和列排列的一组数据元素。表格可用于以有用的方式表示关系。表是最基本的数据存储类型。

7.SET@id =6;用于定义 SQL 变量以将值放入变量中。

8.一个表可以有多少个主键? - 1

9.NVarchar用来存储JSON对象?

10.COUNT(*) 函数计算 SQL 查询中的行数。

版本声明 本文转载于:https://dev.to/gateru/join-4163?1如有侵犯,请联系[email protected]删除
最新教程 更多>
  • 为什么模拟鼠标悬停在 Chrome 中不会触发 CSS 悬停?
    为什么模拟鼠标悬停在 Chrome 中不会触发 CSS 悬停?
    在 JavaScript 中模拟鼠标悬停:澄清差异并实现手动控制尝试在 Chrome 中模拟鼠标悬停事件时,您可能遇到了一个有趣的问题问题。尽管“mouseover”事件监听器已成功激活,但相应的CSS“hover”声明并未生效。此外,尝试在鼠标悬停侦听器中使用 classList.add(&quo...
    编程 发布于2024-11-08
  • 你能衡量 MySQL 索引的有效性吗?
    你能衡量 MySQL 索引的有效性吗?
    了解 MySQL 索引性能优化 MySQL 查询对于高效的数据库处理至关重要。索引是提高搜索性能的关键技术,但监控其有效性也同样重要。本文解决了是否可以评估 MySQL 索引性能的问题并提供了解决方案。识别查询性能确定查询是否使用索引,执行以下查询:EXPLAIN EXTENDED SELECT c...
    编程 发布于2024-11-08
  • 如何自定义 PDF.js
    如何自定义 PDF.js
    PDF.js 是一个很棒的开源项目,它经常更新并且不断添加新功能,但是从外观上看它很丑陋,或者可以说它看起来已经过时了。从 PDF.js 获取最新的 PDF 功能和修复,但在演示方面拥有流畅的外观怎么样? PdfJsKit 的 pdf 查看器并不引人注目,它不会直接更改 PDF.js 的代码,它只是...
    编程 发布于2024-11-08
  • 即将推出大事
    即将推出大事
    我决定从头开始构建全栈 Web 开发人员课程,从 HID 一直到服务器和可扩展性。所有需要知道的,都将免费涵盖免费! 以下是涵盖的内容: 互联网 互联网是如何运作的? 什么是HTTP? 浏览器及其工作原理? DNS 及其工作原理? 什么是域名? 什么是托管? 前端 H...
    编程 发布于2024-11-08
  • HTML 页面的剖析
    HTML 页面的剖析
    编程 发布于2024-11-08
  • 设计有效数据库的终极指南(说真的,我们是认真的)
    设计有效数据库的终极指南(说真的,我们是认真的)
    Alright, you’ve got a shiny new project. Maybe it's a cutting-edge mobile app or a massive e-commerce platform. Whatever it is, behind all that glitz ...
    编程 发布于2024-11-08
  • 使用 html css 和 javascript 的图像轮播旋转幻觉
    使用 html css 和 javascript 的图像轮播旋转幻觉
    代码 旋转图像轮播 身体 { 显示:柔性; 调整内容:居中; 对齐项目:居中; 高度:100vh; 保证金:0; 背景颜色:#0d0d0d; 溢出:隐藏; ...
    编程 发布于2024-11-08
  • 如何开始 Web 开发
    如何开始 Web 开发
    介绍 Web 开发是当今最受欢迎的职业之一,对于那些对 前端(用户看到的内容)和 后端(服务器逻辑)感兴趣的人来说)。如果您刚刚起步,想知道从哪里开始或者作为开发者可以赚多少钱,本指南将为您提供清晰的入门路径和资源。 什么是网页开发? 网络开发分为两大区域: 前端:...
    编程 发布于2024-11-08
  • 如何在不使用 Composer 本身的情况下安装 Composer PHP 包?
    如何在不使用 Composer 本身的情况下安装 Composer PHP 包?
    如何在没有 Composer 的情况下安装 Composer PHP 软件包在本文中,我们将解决在没有 Composer 工具的情况下安装 Composer PHP 软件包的挑战本身。当您遇到 Composer 对于您的工作流程不可用或不切实际的情况时,此方法非常有用。识别依赖关系第一步是识别包所需...
    编程 发布于2024-11-08
  • 如何在 Matplotlib 中绘制不同颜色的线条?
    如何在 Matplotlib 中绘制不同颜色的线条?
    绘制不同颜色的线在 matplotlib 中,可以通过多种方法来绘制具有不同颜色段的线。选择取决于要绘制的线段数量。线段数量较少如果只需要几条线段,如绘制轨迹,请考虑以下事项:import numpy as np import matplotlib.pyplot as plt # Generate ...
    编程 发布于2024-11-08
  • 为什么 Safari 无法处理“2010-11-29”格式的日期?
    为什么 Safari 无法处理“2010-11-29”格式的日期?
    Safari 的日期解析怪癖为什么 Safari 在遇到“2010-11-29”等格式的日期时会抛出“无效日期”错误',而其他浏览器处理这些日期没有问题?这种不一致的行为可能会让 Web 开发人员感到沮丧。问题的根源在于 Safari 对日期字符串中破折号 (-) 的解释。虽然大多数浏览器将...
    编程 发布于2024-11-08
  • 我应该使用哪些工具来进行 Python 包管理? Distutils、Setuptools、Distribute 和 Distutils2 指南。
    我应该使用哪些工具来进行 Python 包管理? Distutils、Setuptools、Distribute 和 Distutils2 指南。
    探索 Distribute、Distutils、Setuptools 和 Distutils2 之间的区别Python 包管理随着时间的推移不断发展,引入了各种用于不同目的的工具。了解这些工具之间的细微差别对于高效的软件分发和安装至关重要。Distutils:标准库遗产Distutils 已合并到 ...
    编程 发布于2024-11-08
  • 如何在没有 syscall 或 scrypt 的情况下安全地在 Golang/App Engine 中对密码进行哈希处理?
    如何在没有 syscall 或 scrypt 的情况下安全地在 Golang/App Engine 中对密码进行哈希处理?
    在 Golang/App Engine 中安全地散列密码,无需系统调用或 scrypt虽然 bcrypt 和 scrypt 通常用于密码散列,但它们可能不由于系统调用可访问性,适合 App Engine。作为替代方案,请考虑利用 go.crypto 库进行安全密码散列。go.crypto 包提供对 ...
    编程 发布于2024-11-08
  • 使用 JDK 记录促进 Spring 开发的真实示例
    使用 JDK 记录促进 Spring 开发的真实示例
    In this article, we'll explore the various scenarios where JDK 14 Records prove to be a game-changer. Unlocking the Power of JDK 14 Records: A Simplif...
    编程 发布于2024-11-08
  • 如何将 PHP 日期转换为 MySQL“YYYY-MM-DD”格式?
    如何将 PHP 日期转换为 MySQL“YYYY-MM-DD”格式?
    将 PHP 日期转换为 MySQL 格式在 PHP 和 MySQL 中处理日期时,必须正确格式化它们以正确插入数据库。问题来了:如何将 PHP 日期转换为 MySQL 格式的“YYYY-MM-DD”?假设我们有一个日期PHP 中的字段设置为:$date = mysql_real_escape_str...
    编程 发布于2024-11-08

免责声明: 提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发到邮箱:[email protected] 我们会第一时间内为您处理。

Copyright© 2022 湘ICP备2022001581号-3