首页 > 数据库 >SQL 语句 增删改查、边学习边增加中..... 这一部分为select

SQL 语句 增删改查、边学习边增加中..... 这一部分为select

时间:2023-10-11 11:36:06浏览次数:39  
标签:group name 改查 Person ..... SQL Employee select

SQL语句按照最大的类别分为

  1、增加 insert 

  2、删除 delete  https://www.cnblogs.com/kuangmeng/p/17756654.html

  3、修改update

  4、查询 select : https://www.cnblogs.com/kuangmeng/p/17756425.html

这一部分为select 查询操作,以及对应的Leecode题,进行加深印象。通常  select * from 表名 ,这条SQL语句代表查询表名的所有数据。

175. 组合两个表    

联合两个表进行查询,本人采用的是下面SQL ,但是返回的是 Person.personId = Address.personId 的数据, 与题目中要求 Person表中的数据,如果没有在Address表中出现,city,state 字段变为null

select firstName,lastName,city,state  
from Person,Address  
where Person.personId = Address.personId

所以采用 left join 、 on 的方式。

其中 left join :是一种连接(JOIN)操作,用于将两个或多个表根据某个相关列进行关联。LEFT JOIN会返回左表中的所有记录,以及右表中与左表匹配的记录。如果在右表中没有找到匹配的记录,则会返回NULL值。

其中 on:ON子句用于指定连接条件,即哪些列需要相等才能将两个表关联起来。

181. 超过经理收入的员工   

题目:给定一个表,采用别名as的形式,提取两次表中的数据。

select a.name as 'Employee'  ##### 将a.name 设置别名 为Employee 符合题目要求

select a.name as 'Employee' 
from Employee as a,Employee as b 
where a.managerId = b.id  and a.salary>b.salary 

其中 whereand,将两个判断条件连接。

182. 查找重复的电子邮箱

重复字段,暂时采用unique 唯一标识字段  思考再三之后,决定采用group by   +  count 值

count : 遍历表,找到对应字段出现的次数。

group by:若是没有 加后续条件,则按照降序排列。

having:对group by字段添加 附属条件

select email as 'Email'
from Person
group by email
having count(email) > 1;

183. 从不订购的客户

没有出现的用户,根据题目来说,目前的见解,只能采用 not in。

其中not in : 顾名思义   a not in b  ==> 返回所有a 有b 没有的东西。

整体上,将select内置到 not in中。通过相同的字段与字段进行判断。

select name as 'Customers'
from Customers
where  Customers.id not in 
( select customerId from Orders);

 

标签:group,name,改查,Person,.....,SQL,Employee,select
From: https://www.cnblogs.com/kuangmeng/p/17756425.html

相关文章

  • MySQL的最左原则
    一、简述MySQL索引的最左原则指的是,当使用多列索引时,MySQL会优先使用索引中最左边的列。如果查询条件中包含了索引的最左列,那么MySQL会使用这个索引来加速查询。更具体的描述:建立一个索引,对于索引中的字段,mysql会一直向右匹配直到遇到范围查询(>、<、between、like)就停止匹配......
  • MySQL--索引
    MySQL--索引索引概述索引是帮助MySQL高效获取数据的数据结构(有序)演示使用全表扫描性能极低使用二叉搜索树更高效优缺点索引结构B+Tree索引Hash索引R-Tree(空间索引)Full-text(全文索引)存储引擎支持情况平常所说的索引都是指的B+树索引二叉树B-Tree(多路......
  • sql 子查询
    子查询也就是嵌套SELECT语句,一个SELECT语句的查询结果可以作为另一个语句的输入。子查询能够出现在Where子句中,也能够出现在from子句中,作为一个临时表使用。查询选修了老师名叫Lee(假设唯一)的学生名字sql>selectstNamefromStudentwherestIdin(selectdistinctstId......
  • Apipost一大波新功能来袭!连接数据库、TCP协议、MySQL DDL数据导入
    本次Apipost带来数据库功能、TCP协议调试等重量级功能,感兴趣的话大家升级试试吧~数据库配置Apipost提供了数据库连接功能,以便开发者可以在接口调试中可以使用数据库获取入参或进行断言校验目前7.2.2的Apipost支持Mysql、SQLSever、Oracle、Clickhouse、达梦数据库、PostgreSQL、Re......
  • es和mysql的对比
         ......
  • 探索Redis与MySQL的双写问题
    本文已收录至GitHub,推荐阅读......
  • 深入浅出MySQL MRR(Multi-Range Read)
    本文已收录至GitHub,推荐阅读......
  • hsqldb安装与运行
    1.下载:http://sourceforge.net/projects/hsqldb/files/2.介绍:纯java编写,适合开发测试,非常小,下载的压缩包只有3M多,解压安装后只有10M多,只要引用hsqldb\lib\hsqldb.jar到工程中,不需要安装启动hsqldb数据库,使用内存模式连接,就可以跑起来(这种模式多用于测试)3.......
  • 探索Redis与MySQL的双写问题
    本文已收录至GitHub,推荐阅读......
  • SQL-联合查询
    联合查询:可以合并多个相似的选择查询的结果集。在关系型数据库中,通过将两个或多个表格进行合并,从这些表中检索出所需的信息。使用关键字:union和unionall关键字的区别:union去除重复记录(distinct默认),unionall不去去除重复记录。orderby的使用在MySQL中,1、union操作符将多个......