Mysql知识点总结2
内连接,外连接总结:
内连接: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.*
别名AS
语法:AS 别名
说明:
(1)可以给字段取别名、可以给表名取别名
(2)AS 可以省略
(3)如果给字段取别名,如果别名中包含特殊符号,例如“空格”等,建议给别名加上双引号或单引号
(4)如果是给表名取别名,那么不能加双引号或单引号,也不能有特殊符号,例如“空格”等
(5)建议别名简短,见名知意
着重号
例如:select name from t_stu;
可以给字段或表名加着重号
如果字段名或表名与关键字一样更要加着重号了
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,除了<=>
浙公网安备 33010602011771号