当前位置: 首页 > news >正文

企业网站建设如何做好外链建设网站优化塔山双喜

企业网站建设如何做好外链建设,网站优化塔山双喜,设计风格网站欣赏,代理网站地址上一篇介绍了外键约束,外键约束是用于连接两张数据表的,所以在此基础上就有了多表查询 之前的查询都是单表查询,这里我们会将多个数据表的数据结果返回在一张表上 文章目录 1.多表关系2.多表查询2.1 多表查询分类2.2 内连接2.3 外连接2.4 自连接2.5 联合查询2.6子查询 1.多表关…

上一篇介绍了外键约束,外键约束是用于连接两张数据表的,所以在此基础上就有了多表查询
之前的查询都是单表查询,这里我们会将多个数据表的数据结果返回在一张表上

文章目录

  • 1.多表关系
  • 2.多表查询
    • 2.1 多表查询分类
    • 2.2 内连接
    • 2.3 外连接
    • 2.4 自连接
    • 2.5 联合查询
    • 2.6子查询

1.多表关系

即表和表之间的关系,主要分为一对一,一对多和多对多

  • 一对多 : 比如教室和学生,一个教室里面有多个学生,实现一对多的关系一般是多的一方建立外键,一的一方建立主键
  • 多对多 : 比如学生和课程,一个学生可以选择多门课程,一门课程也可以有多名学生选择,实现多对多关系需要一张中间表,中间表至少要有两个外键来分别关联两张表的主键
  • 一对一 : 比如学生和学号,一个学生就对应一个学号,实现一对一在任意一方加入外键然后关联另一方的主键即可,外键需要设置约束为unique

2.多表查询

在单表查询中我们所使用的关键字为select,在多表查询中同样是这个关键字
单表查询的语句如下:

select 字段1,字段2...... from 表名;

最基础的多表查询就是在from后面添加多个表名,表名之间同样是使用逗号隔开,但直接这样查询的结果是表里面会有很多重复且无效的数据,因为查询结果是按照笛卡尔积进行操作的
这里简单介绍下笛卡尔积:

假设两个集合A和B,AB两个集合的所有组合情况就是笛卡尔积,如下图

在这里插入图片描述
换到数据表就是两张数据表的所有组合情况,这显然不是我们想要的结果,所以在此基础上我们需要加上条件消除掉无效的笛卡尔积

2.1 多表查询分类

主要分为连接查询和子查询两大类,查询连接又可分为内连接,左/右外连接和自连接
其中自连接是自己和自己进行连接查询,是需要使用别名的,其它的连接查询主要是查询的数据范围不同,如下图:
在这里插入图片描述
子查询则是SQL语句中嵌套select语句进行查询

2.2 内连接

内连接查询的部分是两张表的交集,其语法分为隐式内连接和显式内连接两种

隐式:select 字段列表 from1,2 where 条件;
显式:select 字段列表 from1 inner join2 on 连接条件;  inner可以省略

2.3 外连接

外连接分为左外连接和右外连接

左外连接:select 字段列表 from1 left join2 on 连接条件;
右外连接:select 字段列表 from1 right join2 on 连接条件;

2.4 自连接

自连接是自己和自己进行连接查询,需要给表取两个不同的别名

select 字段列表 from1 别名1 join1 别名2 on 连接条件;

自连接查询可以使用内连接查询语法,也可以使用外连接查询语法,主要是看实际情况来决定

2.5 联合查询

将多次查询的结果进行合并,形成一个新的查询结果集,这里有新的关键字union和union all

select 字段列表 from1......    
union (all)
select 字段列表 from2......;

两个关键字不同的地方在于union会对合并的结果集进行去重,union all不会
注:联合查询的多张表的列数和字段类型需要保持一致

2.6子查询

子查询是SQL语句中嵌套select语句进行查询,或者换个说法是把一个select语句的结果作为另一个SQL语句的条件
select外部的语句可以是insert,update,select,delete中的任何一个,但常见的还是select
根据select返回的结果,将子查询分为4类

  • 标量子查询 : select查询返回的结果为单个值
  • 列子查询 : select查询返回的结果为一列
  • 行子查询 : select查询返回的结果为一行
  • 表子查询 : select查询返回的结果为多行多列

下面的子查询的语法以外部语句为select为例

标量子查询:select 字段列表 from1 where1 = (select 字段 from2 where 条件);
列子查询:select 字段列表 from1 where1 in (select 字段 from2 where 条件);
行子查询:select 字段列表 from1 where (1,2......) = (select 字段1,字段2...... from2 where 条件) 
表子查询:select 字段列表 from1 where (1,2......) in (select 字段1,字段2......from2 where 条件);

上面的运算符和语法不是固定的,要根据实际情况来选择
多表查询到这就结束了,下一篇是事务,完

http://www.mmbaike.com/news/100263.html

相关文章:

  • web做网站作业搜索引擎优化的意思
  • 网站怎么做弹框权重查询入口
  • 迎春彩灯制作公司优化培训方式
  • 做网站该去哪找客户班级优化大师网页版登录
  • 免费小程序网站百度文库首页官网
  • phpcms做网站页面开发中国网络营销网
  • 服务器网站扩容 一年1G价格石家庄新闻网头条新闻
  • 建筑网站建设案例长春网站制作企业
  • 网页界面设计中交互设计是指夜狼seo
  • 网站建设的具体方法百度登录页面
  • 北京 科技网站建设东莞网站建设推广技巧
  • wordpress删除管理站点链接甘肃seo技术
  • 东乡做网站百度关键词竞价价格查询
  • 专门做海外服装购的网站有哪些自媒体平台排名
  • 怎么做示爱的网站数字营销策略有哪些
  • 网站推广的基本方法是什么2023年最新新闻简短摘抄
  • 1免费网站建站株洲网络推广
  • 电商网站及企业微信订烟长沙seo外包优化
  • 企业网站定制收费标准怎么学互联网怎么赚钱
  • 网站 自适应js北京seo优化wyhseo
  • 谷德设计网站官网入口西安关键词优化软件
  • 手机网站改版公司加盟网络优化的内容包括哪些
  • 网站定制开发与模版郑州网络营销公司哪个好
  • 茂名网站开发服务商超级优化大师
  • 涂料做哪个网站好宣传产品的方式
  • 凡科网站建设怎么去掉极速建站自己做网站需要多少钱
  • 青岛网站建设加盟公司品牌整合推广
  • 网站建设进度表 下载seo排名软件哪个好用
  • 今天战争最新消息新闻seo优化工作怎么样
  • 如何写网站建设方案站内推广和站外推广的区别