SQL——高级教程【菜鸟教程】

SQL连接

  1. 左连接:SQL LEFT JOIN 关键字
    左表相当于主表,不管与右表匹不匹配都会显示所有数据
    右表就只会显示和左表匹配的内容。
    在这里插入图片描述
//例显示:左表的name,有表的总数,时间
SELECT Websites.name, access_log.count, access_log.date
//左表
FROM Websites
//右表
LEFT JOIN access_log
//使用on来连接两个表
ON Websites.id=access_log.site_id
//降序排列
ORDER BY access_log.count DESC;
  1. 内连接:SQL INNER JOIN 关键字
    从韦恩图可以看出它们显示出来的是交叉的地方
    在这里插入图片描述
//显示的列有w表的name,a表的count,
SELECT Websites.name, access_log.count, access_log.date
//w表
FROM Websites
//内连接a表
INNER JOIN access_log
//两表连接条件
ON Websites.id=access_log.site_id
//排序规则——默认升序
ORDER BY access_log.count;
  1. 右连接 SQL RIGHT JOIN 关键字
    右连接和左连接类似,只不过以右表作为主表在这里插入图片描述
//w表的name,a表的count,data
SELECT websites.name, access_log.count, access_log.date
//w表
FROM websites
//右连接,主表为a表
RIGHT JOIN access_log
//两表连接条件
ON access_log.site_id=websites.id
//排序规则,降序
ORDER BY access_log.count DESC;
  1. 全部显示,(在MYSQL中不支持这样的语句)SQL FULL OUTER JOIN 关键字
    两表中无匹配的项也会显示出来,FULL OUTER JOIN 关键字返回左表(Websites)和右表(access_log)中所有的行。如果 “Websites” 表中的行在 “access_log” 中没有匹配或者 “access_log” 表中的行在 “Websites” 表中没有匹配,也会列出这些行。
    在这里插入图片描述
  2. SQL UNION 操作符
    UNION 操作符用于合并两个或多个 SELECT 语句的结果集
    请注意,UNION 内部的每个 SELECT 语句必须拥有相同数量的列。列也必须拥有相似的数据类型。同时,每个 SELECT 语句中的列的顺序必须相同。
//选择国家,name列
SELECT country, name 
//w表
FROM Websites
//条件为
WHERE country='CN'
//连接
UNION ALL
//选择国家,name列
SELECT country, app_name 
//app表
FROM apps
//条件为
WHERE country='CN'
//排列顺序
ORDER BY country;

6.SQL SELECT INTO 语句(MySQL 数据库不支持 SELECT … INTO 语句,但支持 SQL INSERT INTO SELECT 语句)

通过 SQL,您可以从一个表复制信息到另一个表。

SELECT INTO 语句从一个表复制数据,然后把数据插入到另一个新表中。

//w表name,a表count,a表data
SELECT Websites.name, access_log.count, access_log.date
//复制到哪里
INTO WebsitesBackup2016
//从那个表复制
FROM Websites
//左连接
LEFT JOIN access_log
//w表和a表连接条件
ON Websites.id=access_log.site_id;
  1. SQL INSERT INTO SELECT 语句
    NSERT INTO SELECT 语句从一个表复制数据,然后把数据插入到一个已存在的表中。
//复制 "apps" 中的数据插入到 "Websites" 中:
INSERT INTO Websites (name, country)
SELECT app_name, country FROM apps;
//只复制 id=1 的数据到 "Websites" 中:
INSERT INTO Websites (name, country)
SELECT app_name, country FROM apps 
WHERE id=1;
  • 5
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
SQL Server是一种关系型数据库管理系统,广泛应用于企业级数据存储和管理。高级教程主要涉及SQL Server数据库的高级功能和技术,以下是对SQL Server高级教程的300字回答。 SQL Server高级教程涵盖了许多重要的主题,包括查询优化、索引优化、性能调优、故障恢复、安全性、数据分析、复制和高可用性等方面。在查询优化方面,教程会深入讲解如何编写高效的SQL查询,并介绍如何使用索引、分区和统计信息来提升查询性能。此外,教程还会介绍如何创建和使用存储过程、触发器和函数来实现复杂的数据操作和业务逻辑。 在性能调优方面,教程会教授如何监控和诊断数据库性能问题,并介绍如何使用SQL Server性能监视器和查询计划来定位性能瓶颈。此外,教程还会介绍如何使用数据库引擎优化顾问(Database Engine Tuning Advisor)来自动优化查询和表结构。 在故障恢复方面,教程会讲解如何备份和还原数据库,并介绍如何使用日志文件来实现点时间恢复。此外,教程还会介绍如何使用SQL Server故障转移集群和数据库镜像来实现高可用性和灾备。 在安全性方面,教程会介绍如何配置和管理SQL Server身份验证和Windows身份验证,以及如何使用数据库角色和权限来实现细粒度的访问控制。 在数据分析方面,教程会介绍如何使用SQL Server分析服务和数据挖掘来进行高级数据分析和预测建模。 SQL Server高级教程的内容丰富多样,对于想要深入掌握SQL Server数据库管理的人来说,是值得学习的重要资料。通过学习SQL Server高级教程,用户可以提升SQL Server数据库的性能、安全性和可用性,从而更好地满足企业的数据管理需求。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

喜欢下雨t

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值