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:报警性能差,存储数据仅有简单的一段可以判断是否在合理范围内的数据长度,储存在内存中.比如,连续采样数据存 ...
随机推荐
- 算法leetcode二分算法
二分算法通常用于有序序列中查找元素: 有序序列中是否存在满足某条件的元素: 有序序列中第一个满足某条件的元素的位置: 有序序列中最后一个满足某条件的元素的位置. 思路很简单,细节是魔鬼. 一.有序序列 ...
- CF833B-线段树优化DP
CF833B-线段树优化DP 题意 将一个长为\(n\)的序列分成\(k\)段,每段贡献为其中不同数字的个数,求最大贡献和. 思路 此处感谢@gxy001 聚铑的精彩讲解 先考虑暴力DP,可以想到一个 ...
- 《Node+MongoDB+React 项目实战开发》已出版
前言 从深圳回长沙已经快4个月了,除了把车开熟练了外,并没有什么值得一提的,长沙这边要么就是连续下一个月雨,要么就是连续一个月高温暴晒,上班更是没啥子意思,长沙这边的公司和深圳落差挺大的,薪资也是断崖 ...
- PDMan使用
场景: 这几天项目要完结交付,需要补很多文档.此时发现甲方要求提供数据库设计文档,尽管我觉得他们不会看,但是人家要求,还是补一下吧!时间紧迫,要赶出整个项目的数据库设计文档比较麻烦,每个两三天不行.于 ...
- SaltStack 任意文件读写漏洞(CVE-2020-11652)
漏洞影响 SaltStack < 2019.2.4 SaltStack < 3000.2 同CVE-2020-11651 poc git clone https://github.com/ ...
- 创建型-单例模式 SingletonPattern
单例模式 Singleton 保证一个类只有一个实例的实现方法 给其他类提供一个全局的访问点. 由自己创建自己的唯一实例 实现 实现方法分为饿汉式(线程安全).懒汉式(线程不安全).懒汉式(lock+ ...
- SQL排序包含数字、字母和中文处理
--模拟数据 SELECT * INTO #temp FROM ( SELECT 1 AS id, 'C101' AS sort UNION ALL SELECT 2 AS id, 'B101' AS ...
- linux下编译常见错误
1.浮点数例外:除数为0 2.已杀死:空间过大 3.已放弃:时间过长 4.段错误:递归 / 循环出不来
- FreeRTOS-04-内核控制函数+时间管理函数
说明 本文仅作为学习FreeRTOS的记录文档,作为初学者肯定很多理解不对甚至错误的地方,望网友指正. FreeRTOS是一个RTOS(实时操作系统)系统,支持抢占式.合作式和时间片调度.适用于微处理 ...
- Java 在Word中创建多级项目符号列表和编号列表
本文分享通过Java程序代码在Word中创建多级项目符号列表和编号列表的方法.程序运行环境如下: IntelliJ IDEA 2018(JDK 1.8.0) Word 2013 Word Jar包:F ...