首页 > 数据库 >SQL练习帖

SQL练习帖

时间:2023-05-24 18:34:12浏览次数:34  
标签:join 该表 +-------------+---------+ PersonId 练习 SQL null Address

1.组合两个表

题目描述:

表: Person
+-------------+---------+
| 列名         | 类型     |
+-------------+---------+
| PersonId    | int     |
| FirstName   | varchar |
| LastName    | varchar |
+-------------+---------+
personId 是该表的主键列。
该表包含一些人的 ID 和他们的姓和名的信息。
表: Address
+-------------+---------+
| 列名         | 类型    |
+-------------+---------+
| AddressId   | int     |
| PersonId    | int     |
| City        | varchar |
| State       | varchar |
+-------------+---------+
addressId 是该表的主键列。
该表的每一行都包含一个 ID = PersonId 的人的城市和州的信息。
编写一个SQL查询来报告 Person 表中每个人的姓、名、城市和州。如果 personId 的地址不在 Address 表中,则报告为空  null 。
以 任意顺序 返回结果表。

代码:

```
select firstName,lastName,city,state
from Person left join Address
on Person.PersonId = Address.PersonId;
```

练习小结:

inner join:2表值都存在
outer join:副表中值可能存在null的情况。
总结:
①A inner join B:取交集
②A left join B:取A全部,B没有对应的值,则为null
③A right join B:取B全部,A没有对应的值,则为null
④A full outer join B:取并集,彼此没有对应的值为null
上述4种的对应条件,在on后填写。

2.组合两个表

题目描述:

代码:

练习小结:

标签:join,该表,+-------------+---------+,PersonId,练习,SQL,null,Address
From: https://www.cnblogs.com/CoffeeSoul/p/17429138.html

相关文章

  • 使用canal同步mysql数据到elasticsearch
    官方去下载canal包https://github.com/alibaba/canal/releases/tag/canal-1.1.6分为deployer、admin、adapter三个模块。deployer是数据库数据同步服务端。adapter是适配同步到不同终端,可以是es,hbase,redis其它数据库等。admin是一个配置管理中心,但是吧又没有配置adapter的界面,a......
  • PostMan连接Mysql数据库及相关操作
    前置:有nodejs环境1,安装xmysqlnpminstall-gxmysql 2,连接数据库xmysql-h主机名或者IP地址-u数据库账号-p密码-d数据库名  如果能看到数据库信息,生成的API的数量等信息,证明连接成功。 3,数据库操作连接成功后,可以直接访问API'sbaseURL地址,可以得到......
  • sql-labs21-30关
    level21先admin:admin登录由此可见cookie被加密了可以尝试在每次注入前对payload进行加密在注入先将语句进行base64加密,再进行注入,通过回显找到闭合方式为')获取行数admin')orderby4#得到行数为3然后开始爆破数据表,列等等level22闭合为"了其他的一样level23......
  • SQL_lab总结11-20关
    第十一关现在为post类型抓包后发到repeater模块抓包后找注入点和闭合方式单引号闭合uname接下来开始尝试测试列数目由此可见有字段数只有2然后进行联合注入当然报错注入也可第十二十三十四关和第十一关操作相同,但第十二关闭合为")十三关为')十四关为"十五关布尔......
  • SQL_lab总结1-10关
    第三关字符型注入测试判断字段数?id=1')and1=1orderby1--+?id=1')and1=1orderby4--+回显库名?id=-1')unionselect1,version(),database()--+or爆破数据库?id=-1%27)%20union%20select%201,version(),group_concat(schema_name)frominformation_schema......
  • sql
    SELECTcount(aa.sex)from(selectDISTINCT*FROMswheresex='女')asaa;selectaa.subject,AVG(aa.score)FROM(SELECT*fromswheresex='女')asaaGROUPBYsubject;select*FROMsLEFTJOINstudent_classons.s_id=student_class.s_i......
  • SQL Server 版本推荐
    数据库尽量与windowsserver版本匹配,例如:windowsserver2016就装sqlserver2016;windowsserver2019就装sqlserver2019;----------------------------------------------------------------------------------------------------补丁包请更新到最新SQL2016最新补丁包为S......
  • 01_MySQL基础架构
    01_MySQL基础架构MySQL45讲Note:课程专栏名称:《MySQL实战45讲》课程笔记参考:MYSQL45讲01_基础架构:一条SQL查询语句是如何执行的?一条SQL查询是如何执行的先看一下下面这个图​​我们首先理解一下Mysql的基础架构,理解如果执行一条简单的查询语句,Mysql进行了哪些操作。......
  • 【MySQL】2-深入理解MySQL体系认识及SQL的执行
    文章目录MySQL体系认识及SQL的执行MySQL体系结构clientconnectorsConnectionPoolSQLInterfaceParserOptimizer文件系统Cache工作原理缓存配置限制条件各存储引擎CSV引擎【表格存储】Archive存储引擎【压缩协议】Memory存储引擎【存储内存中、热点数据】Myisam【8.0淡出了历史舞......
  • mysql、sqlx
    1.导包goget-ugithub.com/go-sql-driver/mysqlimport_"github.com/go-sql-driver/mysql"_表示只执行包中init函数,mysql包会在init函数中注册自己。2.连接数据库利用基本库database/sql连接数据库1dsn:="root:123456@tcp(127.0.0.1:3306)/test_db"2db,err:=s......