SQL 语句 增删改查、边学习边增加中..... 这一部分为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语句代表查询表名的所有数据。
联合两个表进行查询,本人采用的是下面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子句用于指定连接条件,即哪些列需要相等才能将两个表关联起来。
题目:给定一个表,采用别名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
其中 where与and,将两个判断条件连接。
重复字段,暂时采用unique 唯一标识字段 思考再三之后,决定采用group by + count 值
count : 遍历表,找到对应字段出现的次数。
group by:若是没有 加后续条件,则按照降序排列。
having:对group by字段添加 附属条件
select email as 'Email'
from Person
group by email
having count(email) > 1;
没有出现的用户,根据题目来说,目前的见解,只能采用 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);
SQL 语句 增删改查、边学习边增加中..... 这一部分为select的更多相关文章
- 【黑马Android】(04)数据库的创建和sql语句增删改查/LinearLayout展示列表数据/ListView的使用和BaseAdater/内容提供者创建
数据库的创建和sql语句增删改查 1. 载入驱动. 2. 连接数据库. 3. 操作数据库. 创建表: create table person( _id integer primary key, nam ...
- sql语句增删改查(转)
一.增:有4种方法 1.使用insert插入单行数据: 语法:insert [into] <表名> [列名] values <列值> 例 ...
- sql语句增删改查(方便你我Ta)
又自学,把SQL的一些常用语句复习了一遍. 整理如下: 1增 1.1[插入单行]insert [into] <表名> (列名) values (列值)例:insert into Strde ...
- SQL 语句(增删改查)
一.增:有4种方法1.使用insert插入单行数据: --语法:insert [into] <表名> [列名] values <列值> 例:insert into Strden ...
- 安卓开发之sql语句增删改查2(利用谷歌封装好的API进行增删改查)
<?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android=&quo ...
- 安卓开发之sql语句增删改查
package com.lidaochen.phonecall; import android.content.Context; import android.database.sqlite.SQLi ...
- sql语句增删改查与子查询
修改表 修改表 语法: Alter table <旧表名> rename [ TO] <新表名>; 例子:Alter table `demo01` rename `demo02 ...
- 详解数据库引擎与SQL语句增删改查(非常详细,带例)
数据库系统(DBMS): 专门负责数据管理的工具.增加数据.创建索引.建立索引之间的关联关系.更新索引...... 连接器:PHP要访问MySQL,可以通过API访问,也可以通过PHP的驱动,而那个驱 ...
- 数据库基本查询语句(SQL常用增删改查语句 简单复习 mark)
SQL常用增删改查语句 1增 1.1[插入单行]insert [into] <表名> (列名) values (列值)例:insert into Strdents (姓名,性别,出生日期) ...
- 手撸Mysql原生语句--增删改查
mysql数据库的增删改查有以下的几种的情况, 1.DDL语句 数据库定义语言: 数据库.表.视图.索引.存储过程,例如CREATE DROP ALTER SHOW 2.DML语句 数据库操纵语言: ...
随机推荐
- 一篇随笔入门Java
Java helloWorld 随便新建一个文件夹存放代码 新建一个java文件 文件后缀名.java Hello.java [注意]系统可能不显示后缀名要手动打开 代码 public class H ...
- Python + unittest + ddt + HTMLTestRunner + log + excel + mysql + 企业微信通知, 接口自动化框架V2.0,支持多业务处理,仅需维护 excel 用例,无需要编写代码
Python + unittest + ddt + HTMLTestRunner + log + excel + mysql + 企业微信通知 + Jenkins 实现的接口自动化框架. 项目介绍 接 ...
- 2023-07-12:RocketMQ如何做到消息不丢失?
2023-07-12:RocketMQ如何做到消息不丢失? 答案2023-07-12: RocketMQ通过刷盘机制.消息拉取机制和ACK机制等多种方式来确保消息投递的可靠性,防止消息丢失. 1.刷盘 ...
- Flutter 屏幕采集如何实现(提供示例demo)
在视频会议.线上课堂.游戏直播等场景,屏幕共享是一个最常见的功能.屏幕共享就是对屏幕画面的实时共享,端到端主要有几个步骤:录屏采集.视频编码及封装.实时传输.视频解封装及解码.视频渲染.一般来说,实时 ...
- 在 Arch 配置 i3-wm 终端模拟器 xterm
在 Arch 配置 i3-wm 终端模拟器 xterm 关于怎么在 Arch 安装 i3-wm 可以查看上一篇文章 https://www.cnblogs.com/shadow-/p/17572589 ...
- 2021-7-7 Vue的for使用实例
<!DOCTYPE html> <html> <head> <title> </title> </head> <body& ...
- 大数据请把文章推给想了解DLL的人
DLL(Dynamic Link Library)动态链接库在 webpack 中用来将可共享且不常改变的代码抽取成公共的库. 没有使用 DLL react 和 react-dom 在 react 项 ...
- [elasticsearch]部署安装单节点和集群
单点安装 进入安装目录:cd /usr/local 获取安装包: wget http://172.29.50.31/download/ProgramPackage/elasticsearch/elas ...
- 极简工作流「GitHub 热点速览」
原以为 LLM 很难,但其实可以很简单,比如 Flowise 拖拽拖拽就能出来一个 LLM 流程,非常简单你的 LLM 就可以 run 起来了.同样的 web-check 也能极快速地帮你解决 Web ...
- [HDCTF2019]Maze 反汇编-花指令处理
这是一道迷宫花指令加upx脱壳处理的题 先介绍花指令 一. 概述 花指令是对抗反汇编的有效手段之一,正常代码添加了花指令之后,可以破坏静态反汇编的过程,使反汇编的结果出现错误.错误的反汇编结果会造成破 ...