sql99语法:(常用的)
2)sql92语法和sql99语法的区别。
-- sql92语法 select ename,dname from emp,dept where emp.deptno=dept.deptno; -- sql99语法 select ename,dname from emp (inner)join dept on emp.deptno=dept.deptno; -- sql92语法和sql99语法的区别 1)逗号(",")换成(inner)join; 2)where换成on; 注:inner可以省略,写上inner可以增加代码的可读性。 --sql99语法的优势 表连接和后面的where条件筛选,分离开来。 对于sql92语法来说,表连接用的是where,where筛选用的也是where,混淆在一起不清不楚。
3)非等值连接:最大特点是,连接条件为非等量关系。
习题:找出每个员工的工资等级,要求显示员工名、工资、工资等级。
4)自连接:最大特点是,一张表看作两张表。
什么叫做一张表看作两张表呢?也就是说,自连接是同一张表之间的连接,连接条件就是这张表中的不同字段。
人和机器的最大不同,就在于人有判断能力,你知道区分使用一张表的不同字段,但是机器不知道,都是同一张表,字段名也都是相同的。那么,机器怎么才能区分哪个表是哪个表(对于同一张表来说)。
这就需要起别名了。对于同一张表来说,我给它取两个名字,一个是A,一个是B,这样机器就能很好的区分了。当取A表中的字段,就是"A.字段",取B表中的字段,就是"B.字段"。
习题:找出每个员工的上级领导,要求显示员工名和对应的领导名。
4.外连接讲解
原始数据如下:
1)什么是外连接,和内连接有什么区别?
① 内连接
假设A和B表进行连接,使用内连接的话,凡是A表和B表能够匹配上的记录,就会查询出来,这就是内连接。AB两张表没有主副之分,两张表是平等的。
② 外连接
假设A和B表进行连接,使用外连接的话,AB两张表中有一张表是主表,一张表是副表,主要查询主表中的数据,捎带着查询副表。当副表中的数据没有和主表中的数据匹配上,副表自动模拟出NULL与之匹配。
外连接最重要的特点是:主表的数据,无条件的全部查询出来。
2)外连接的分类
左连接有右连接的写法,右连接也会有对应的左连接的写法。因此,我们在学习MySQL的过程中,没有必要既学习左连接又学习右连接。
左外连接(左连接):表示左边的这张表是主表。右外连接(右连接):表示右边的这张表是主表。 3)案例分析
习题:找出哪个部门没有员工?
以上就是MySQL系列多表连接查询92及99语法示例详解教程的详细内容,更多关于MySQL查询语法的资料请关注其它相关文章!
更多SQL内容来自木庄网络博客