pgsql基本介绍
join on 与数学原理
pgsql切换数据库 直接输入 \C youdatabasename 即可 \d 表名 —— 得到表结构 select * from tablename查看表的数据

相信有不少人读一遍两边都不懂,
A集合有n行,x列,B集合有m行,y列 那么笛卡尔之积就是 一个(m*n)行,(x+y)列
把复杂的问题简单化,把深奥的问题通俗化,那就是教育家,哈哈哈请叫我教育家:
create table tbl_course(
course_id bigint not null primary key,
course_name varchar(12) not null
); create table tbl_student(
stu_id bigint not null,
stu_name varchar(12),
constraint pk_tbl_student_stu_id primary key(stu_id)
); create table tbl_student_course(
stu_id bigint not null,
course_id bigint not null,
constraint pk_tbl_student_course_stu_id_course_id primary key(stu_id,course_id),
constraint fk_tbl_student_course_stu_id foreign key(stu_id) references tbl_student(stu_id) ,
constraint fk_tbl_student_course_course_id foreign key(course_id) references tbl_course(course_id)
);
插入测试数据:
insert into tbl_course values(1,'高等数学'),(2,'大学英语'),(3,'大学物理'),(4,'电影欣赏'); insert into tbl_student values(1,'张三'),(2,'李四'),(3,'王五'),(4,'麻子'); insert into tbl_student_course values (1,2),(1,4),(2,4),(3,4);
select * from tbl_course ,tbl_student,tbl_student_course;//笛卡尔之积

没有什么意义,因为只有四条数据,除非加上分组,去重才会有意义
二.内连接
JOIN连接分为内连接和外连接,而外连接又分为左外连接,右外连接,全外连接。


内连接只要中间那一部分
三.左外连接 左外连接其实是一个内连接然后加上左表独有的数据行,结果集中右表的字段自动补充NULL。 LEFT OUTTER JOIN ,其中OUTER可以省略。

select * from tbl_student left join tbl_student_course using(stu_id) left join tbl_course using(course_id);
//以左边学生为准,包括未选课的4号学生麻子

四.右外连接
右外连接其实是一个内连接然后加上右表独有的数据行,结果集中左表的字段自动补充NULL。

RIGHT OUTTER JOIN ,其中OUTER可以省略。
//以右边的表为准,左边不足的为空,和mysql很相似

五.全外连接
全外连接其实是一个内连接然后加上左表和右表独有的数据行,左表独有的数据行右表的字段补充NULL,右表独有的数据行左表字段补充NULL。


查询没有选课的学生:




查询只在右表中存在的数据
查找没有被选择的课程


查询没有选课的学生和没有被选的课程

就是三表联查 选择彼此都没有的那部分


pgsql基本介绍的更多相关文章
- pgsql日期树数值类型指定与介绍
http://www.postgres.cn/docs/9.3/datatype-net-types.html#DATATYPE-INET 文档有详细的pgsql介绍 使用案例: SELECT to ...
- Postgres数据库基本介绍
最近一直在做一个和PostgreSQL数据库相关的项目,把自己在这个过程中学习的知识记录下来.关于PostgreSQL数据库网上已经有太多的相关介绍了,为了博文的系统性还是先看一下维基百科对Postg ...
- 第1 章MySQL 基本介绍
第 1 章 MySQL 基本介绍 前言: 作为最为流行的开源数据库软件之一,MySQL 数据库软件已经是广为人知了.但是为了照顾对MySQL还不熟悉的读者,这章我们将对 MySQL 做一个简单的介 ...
- API网关系列之Kong的介绍以及安装
一.API网关产生背景 在微服务的架构中,一个大的应用会被拆分成多个小的单一的服务提供出来,这些小的服务有自己的处理,有自己的数据库(也可以共用),也许语言也是不一样的,他们可以部署在一个或多个服务器 ...
- .NETCore 新型 ORM 功能介绍
简介 FreeSql 是一个功能强大的 .NETStandard 库,用于对象关系映射程序(O/RM),支持 .NETCore 2.1+ 或 .NETFramework 4.6.1+. 定义 IFre ...
- .netcore2.0+pgsql 脚手架
mystaging介绍 这是一个 .netcore+pgsql 的脚手架,可以一键生成实体对象和业务层接口,让开发人员无需关注底层变动,专注编写业务代码,它可以让你使用 .netcore2.0的新特性 ...
- Centos 7 Puppet之foreman介绍安装测试
一.简介 1.前言(引用一下网上的资料) 随着企业的 Linux 系统数量越来越多,管理问题便成为一个相对麻烦并需要急 迫解决的问题,这里有 2 个 Key Message:1)统一管控体系非常重要, ...
- .Net Core应用框架Util介绍(二)
Util的开源地址 https://github.com/dotnetcore/util Util的开源协议 Util以MIT协议开源,这是目前最宽松的开源协议,你不仅可以用于商业项目,还能把Util ...
- zabbix监控-基本原理介绍
一.Linux下开源监控系统简单介绍1)cacti:存储数据能力强,报警性能差2)nagios:报警性能差,存储数据仅有简单的一段可以判断是否在合理范围内的数据长度,储存在内存中.比如,连续采样数据存 ...
随机推荐
- 《手把手教你》系列技巧篇(十一)-java+ selenium自动化测试-元素定位大法之By tag name(详细教程)
1.简介 按宏哥计划,本文继续介绍WebDriver关于元素定位大法,这篇介绍By ClassName.看到ID,NAME这些方法的讲解,小伙伴们和童鞋们应该知道,要做好Web自动化测试,最好是需要了 ...
- [考试总结]noip模拟21
中位数要排序!!!!!! 中位数要排序!!!!!! 中位数要排序!!!!!! 中位数要排序!!!!!! 中位数要排序!!!!!! 分差不加绝对值!!!! 分差不加绝对值!!!! 分差不加绝对值!!!! ...
- odoo里API解读
Odoo自带的api装饰器主要有:model,multi,one,constrains,depends,onchange,returns 七个装饰器. multimulti则指self是多个记录的合集 ...
- Xmanager7 xshell7 xftp7安装破解教程
NetSarang Xmanager7 Power Suite是可以浏览远端X窗口系统的软件,远程把Unix/Linux的桌面无缝地带到Windows桌面上.旗下的Xshell Xftp插件是一款常用 ...
- c++ 父类 子类 虚表占用内存空间情况
#include <iostream> using namespace std; class C {}; class A:public C { private: long a; long ...
- 深度掌握 Java Stream 流操作,让你的代码高出一个逼格!
概念 Stream将要处理的元素集合看作一种流,在流的过程中,借助Stream API对流中的元素进行操作,比如:筛选.排序.聚合等. Stream 的操作符大体上分为两种:中间操作符和终止操作符 中 ...
- java基于mongodb实现分布式锁
原理 通过线程安全findAndModify 实现锁 实现 定义锁存储对象: /** * mongodb 分布式锁 */ @Data @NoArgsConstructor @AllArgsConstr ...
- 大数据学习(21)—— ZooKeeper原理
这一篇我们对zookeeper的主要原理做一个简单介绍.zookeeper的核心原理是zookeeper atomic broadcast(ZAB协议),它来源于paxos协议.这里用通俗易懂的话,介 ...
- sqli-labs 靶场笔记
sqli-labs 靶场笔记 冲冲冲,好好学习 2020年1月12号 先来点铺垫 分类: 按照请求方法分类: 1.Get型注入:注入参数在get的参数里. 2.POST型注入:注入参数在POST的参数 ...
- 预训练语言模型的前世今生 - 从Word Embedding到BERT
预训练语言模型的前世今生 - 从Word Embedding到BERT 本篇文章共 24619 个词,一个字一个字手码的不容易,转载请标明出处:预训练语言模型的前世今生 - 从Word Embeddi ...