mysql


内连接:INNER JOIN 、CROSS JOIN


◦外连接:左外连接(LEFT OUTER JOIN)、右外连接(RIGHT OUTER JOIN)、全外连接(FULL OUTER JOIN)


◦自连接:当table1和table2本质上是同一张表,只是用取别名的方式虚拟成两张表以代表不同的意义


◦内连接:只显示重合的数据(两表同时满足条件)返回。
隐式内连接:
select * from t1,t2 where t1.= t2.;
显示内连接
select * from t1 inner join t2 on t1.=t2.;

外连接:
隐式左/右连接:(outer 可以省略)
select * from t1 left join t2 on t1.=t2.
左连接:左边表数据行全部保留,右边表保留符合连接条件的行。
select * from t1 right join t2 on t1.* = t2.*
外连接:左边表数据行全部保留,右边表保留符合连接条件的行。
显示左/外连接:
select * from t1 left outer join t2 on t1.=t2.
select * from t1 right outer join t2 on t1.=t2.

全连接:(显示两个表所有信息)
select * from t1 full join t2 on t1.* = t2.*
交叉连接(笛卡尔积)
select * from t1 cross join t2 on t1.* = t2.*
MySQL的运算符

 

(1)算术运算符:+ - * /(除也可以写成div,div取整) %(取模可以写成mod)

(2)比较运算符:= > >= < <= !=(不等于还可以写成<>) <=>(安全等于)

(3)逻辑运算符:&&(逻辑与也可以写成and) ||(逻辑或也可以写成or) not(逻辑非) xor(逻辑异或)

(4)范围:表达式 between ... and ... (也可以写成 表达式>=... and 表达式 <=...)

 表达式 not between ... and ...(也可以写成 表达式<... || 表达式 >...)

(5)集合:in (值,值,值...) not in(值,值,值...)

(6)模糊查询:LIKE NOT LIKE,通配符:%表示0-n个字符,_下划线代表一个字符

(7)位运算符:&(按位与) |(按位或)^(按位异或)~(按位取反)>>(右移)<<(左移)

(8)NULL值判断,is null 或 is not null,如果使用null=null,null<>null,null=0,null<>0,null=false等都不对

不过xxx is null 可以使用xxx <=> null ,xxx is not null 可以写成 not xxx <=> null

结论:所有的运算符遇到NULL结果都是NULL,除了<=>

 

posted @ 2020-10-22 21:05  表妹  阅读(61)  评论(0)    收藏  举报