SQL 表的连接查询

连接:join 表名 on 关联条件

关键问题,哪些表?哪些关系?

内连接:inner join,两表中完全匹配的数据

select table_2.sname,Table_1.classname from Table_2 inner join Table_1 on Table_2.classid=Table_1.classID--查询2号表的信息对应1号表的相关信息select T2.sname,T1.classname from Table_2 as T2 inner join Table_1 as T1 on T2.classid=T1.classID--简写   使用了as的效果

连接查询一定要弄清两张表的关系,上图代码,table_2内的classid对应table_1内的classID.    然后内连接查询对应的信息

左外连接:left outer join,两表中完全匹配的数据,左表中特有的数据

右外连接:right outer join,两表中完全匹配的数据,右表中特有的数据

完全外连接:full outer join,两表中完全匹配的数据,左表中特有的数据,右表中特有的数据

原文地址:https://www.cnblogs.com/dana8811/p/9497604.html

时间: 2024-10-07 16:52:46

SQL 表的连接查询的相关文章

SQL中的连接查询及其优化原则

连接查询是SQL的主要任务,只有很好的掌握了连接查询及其优化方法才算是掌握了SQL的精髓所在.最近在面试中遇到了有关连接查询的问题,感觉回答的不是很好,总结一下. 具体示例请参考:http://www.w3school.com.cn/sql/sql_join.asp 总结: 连接查询原理与代码优化:假如要对table1和table2两个表进行连接查询,则DBMS首先会在table1中找到第一个元组,然后从头开始扫描table2表,逐一查找与table1第一个元组相对应的table2的元组,找到后

多表内连接查询关键字不对应时要注意的一个问题

作者:iamlaosong 多表连接查询中最常用的事内连接,内连接中最常用的是等值连接,即在连接条件中使用等于号(=)运算符比较被连接列的列值,其查询结果中列出被连接表中的所有列,包括其中的重复列.例如: select *  from tb_evt_mail_clct a, tb_evt_dlv c where a.clct_date between to_date('2015-6-11', 'yyyy-mm-dd') and to_date('2015-6-11', 'yyyy-mm-dd')

SQL里3个表的连接查询

两种:1.select * from 表1,表2,表3 where 表1.字段=表2.字段 and 表1.字段=表3.字段这种效率比较低 结构简单数据量小可以采用2.select * from 表1 join 表2 on 表1.字段=表2.字段 and join 表3 on 表1.字段=表3.字段这个不错 提问者评价 第2个and join写错了,应该是join,没有and http://zhidao.baidu.com/link?url=jI4ahWhPIbnq6gXcOZHWAeUPwSmO

SQL 中的连接查询

关于SQL的应用,肯定离不开查询,而相对复杂的查询,总是离不开对表的连接,单个表操作的并不罕见,但是在应用环境大多数的查询都是针对2.3个表甚至更多的表7,至于连接,有内连接.外链接.交叉连接之分,每种连接方式都有各自的查询关键字去执行.此时犹记学时对这些概念含糊不分,不知所谓,总是认为课本的知识玄幻深奥,概念晦涩难懂,当然我也时常归咎于是本校师生随手“复印”的教材. 一. 内连接(通过关联信息匹配数据) 1.等值连接(=,有重复)  2.不等值连接(不等式.大小于)   3.自然连接(=,无重

表的连接查询

内连接(等值连接),外连接(左外连接,右外连接,全外连接) 内连接(等值连接): 左外连接(左连接) 右外连接(右连接) 同表自身连接: 全外连接:

Mysql 表连接查询

1.内联接(典型的联接运算,使用像 =  或 <> 之类的比较运算符).包括相等联接和自然联接.     内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行.例如,检索 students和courses表中学生标识号相同的所有行.       2.外联接.外联接可以是左向外联接.右向外联接或完整外部联接.     在 FROM子句中指定外联接时,可以由下列几组关键字中的一组指定:     1)LEFT  JOIN或LEFT OUTER JOIN     左向外联接的结果集包括  LEF

sql连接查询中on筛选与where筛选的区别

sql连接查询中on筛选与where筛选的区别 sql查询这个东西, 要说它简单, 可以很简单, 通常情况下只需使用增删查改配合编程语言的逻辑表达能力,就能实现所有功能. 但是增删查改并不能代表sql语句的所有, 完整的sql功能会另人望而生畏. 就拿比普通增删查改稍微复杂一个层次的连接查询来说, 盲目使用, 也会出现意料之外的危险结果,导致程序出现莫名其妙的BUG. 在连接查询语法中,另人迷惑首当其冲的就要属on筛选和where筛选的区别了,  在我们编写查询的时候, 筛选条件的放置不管是在o

Mysql表连接查询

原文地址: https://www.cnblogs.com/qiuqiuqiu/p/6442791.html 1.内联接(典型的联接运算,使用像 = 或 <> 之类的比较运算符).包括相等联接和自然联接. 内联接使用比较运算符根据每个表共有的列的值匹配两个表中的行.例如,检索 students和courses表中学生标识号相同的所有行. 2.外联接.外联接可以是左向外联接.右向外联接或完整外部联接. 在 FROM子句中指定外联接时,可以由下列几组关键字中的一组指定: 1)LEFT JOIN或L

(MYSQL学习笔记2)多表连接查询

3种连接方式的区别: INNER JOIN(内连接,或等值连接):获取两个表中字段匹配关系的记录. LEFT JOIN(左连接):获取左表所有记录,即使右表没有对应匹配的记录. RIGHT JOIN(右连接): 与 LEFT JOIN 相反,用于获取右表所有记录,即使左表没有对应匹配的记录. 3个表连接查询,语句如下: SELECT a.YHID,a.TDID,b.YHMC,b.YHZH,c.TDMC FROM (km_tdcy a LEFT JOIN km_xtyh b ON a.YHID=b