SQL99版链接查询语法

news/2024/11/27 0:24:53/

连接查询按照功能分类

内连接

等值连接

非等值连接

自连接 //92SQL

外连接: //红色的连接查询类型92版SQL

左外连接

右外连接

全外连接

交叉连接

#剩下连接类型的SQL语法就不是前面同一个发布版本了

99版SQL语法格式区别于92版的是连接不在是用“=”了,它是语法格式:

sql">select 查询列表
from 表1 别名
【链接类型】 join 表2 别名
on 链接条件
where 数据筛选条件 .....以前讲过的其他部分;

【链接类型】的关键字

内连接:inner (还可以省略)

外连接:

左外连接 left 【outer】

右外连接 right 【outer】

全外连接 full 【outer】

交叉连接 cross 【outer】

案例1:用99版的SQL写法实现等值连接查询

1.查询员工名和其对应所属的部门名

sql">select last_name,department_name
from employees e
inner join departments d
on e.department_id = d.department_id;

2.查询名字中包含e字母的员工名和其对象的部门名

sql">select last_name , department_name
from employees e
inner join departments d
on e.department_id = d.department_id
where last_name like '%e%';

3.查询所在部门个数大于3的城市名和部门个数

sql">select count(d.department_id) count , l.city
from departments d
inner join locations l
on d.location_id = l.location_id
group by l.city
having count>3;

4.查询员工个数大于3点部门名和员工个数,降序排序

sql">SELECT d.department_name , COUNT(e.employee_id) c
FROM employees e
INNER JOIN departments d
ON e.department_id=d.department_id
GROUP BY d.department_name
HAVING c>3
ORDER BY c DESC;

5.查询员工名以及对应的工种名和部门名,按部门名降序排序

sql">select e.last_name,j.job_title,d.department_name
from employees e
inner join departments d
on e.department_id = d.department_id
inner join jobs j
on e.job_id=j.job_id
order by d.department_name;

案例2:用99版的SQL写法实现非等值连接查询

sql">SELECT
salary,grade_level
FROM
employees e
INNER JOIN
job_grades g
ON
e.salary BETWEEN g.`lowest_sal` AND g.`highest_sal`;

练习

查询同一个工资级别的员工的个数大于20的员工个数,并且按照工资级别降序排序

sql">SELECT
COUNT(*) 员工个数,`grade_level`
FROM
`employees` e
INNER JOIN
`job_grades` g
ON
e.`salary` BETWEEN g.`lowest_sal` AND g.`highest_sal`
GROUP BY
`grade_level`
HAVING
COUNT(*)>20
ORDER BY
`grade_level` DESC;

案例3:用99版的SQL写法实现自连接查询

查询员工的名和其对应的直属领导

sql">SELECT
e.last_name employee_name,
m.last_name manager_name
FROM
employees e
INNER JOIN
employees m
ON
e.`manager_id`=m.`employee_id`;


http://www.ppmy.cn/news/1550186.html

相关文章

Linux字符串中的大写字母转换为小写字母

echo $1 | tr A-Z a-z 是一个 Unix/Linux 命令组合,作用是将输入的字符串中的大写字母转换为小写字母。 详细解释: 1. echo $1: echo 命令用于输出其后的内容。$1 是一个变量,表示传给脚本或命令的第一个参数。如果你在命令行中执…

Ajax学习笔记,第一节:语法基础

Ajax学习笔记,第一节:语法基础 一、概念 1、什么是Ajax 使用浏览器的 XMLHttpRequest 对象 与服务器通信2、什么是axios Axios是一个基于Promise的JavaScript库,支持在浏览器和Node.js环境中使用。相较于Ajax,Axios提供了更多…

现代密码学

概论 计算机安全的最核心三个关键目标(指标)/为:保密性 Confidentiality、完整性 Integrity、可用性 Availability ,三者称为 CIA三元组 数据保密性:确保隐私或是秘密信息不向非授权者泄漏,也不被非授权者使…

嵌入式的C/C++:深入理解 static、const 与 volatile 的用法与特点

目录 一、static 1、static 修饰局部变量 2、 static 修饰全局变量 3、static 修饰函数 4、static 修饰类成员 5、小结 二、const 1、const 修饰普通变量 2、const 修饰指针 3、const 修饰函数参数 4. const 修饰函数返回值 5. const 修饰类成员 6. const 与 #defi…

windows下安装wsl的ubuntu,同时配置深度学习环境

写在前面,本次文章只是个人学习记录,不具备教程的作用。个别信息是网上的,我会标注,个人是gpt生成的 安装wsl 直接看这个就行;可以不用备份软件源。 https://blog.csdn.net/weixin_44301630/article/details/1223900…

十七:Web内容协商与资源表述

在现代Web架构中,随着用户设备、语言和网络环境的多样化,如何高效地传递和获取适合的内容变得尤为重要。Web内容协商(Content Negotiation)和资源表述(Representation of Resources)是解决这一问题的重要技术手段。它们帮助服务器根据客户端的需求动态提供最合适的资源,…

基于FPGA的2FSK调制-串口收发-带tb仿真文件-实际上板验证成功

基于FPGA的2FSK调制 前言一、2FSK储备知识二、代码分析1.模块分析2.波形分析 总结 前言 设计实现连续相位 2FSK 调制器,2FSK 的两个频率为:fI15KHz,f23KHz,波特率为 1500 bps,比特0映射为f 载波,比特1映射为 载波。 1&#xff09…

内嵌编辑器+AI助手,Wave Terminal打造终端新体验

作为新一代终端工具的佼佼者,Wave Terminal 突破性地将传统命令行与现代图形界面相结合,为开发者带来全新的操作体验。这款创新的开源终端工具跨越了操作系统的界限,完美支持 macOS、Windows 和 Linux 平台,特别适合需要频繁处理远…