多表查询
主键:oid,唯一能标识一行的字段。非空,唯一特点。
外键:可以在一张表当中通过一个外键定位到另外一张表的主键里面。
一定要避免笛卡尔集合,在一些表当中,可能会存在一个外键,关联另外一个表当中的主键(或者是两张表当中有些字段有些相等关系)。如何避免笛卡尔集合:加入链接条件,N个表当中查询数据,条件不能少于n-1个。
等值连接和非等值连接
等值连接就是连接条件中使用“=”连接两个表
非等值连接就是指连接条件> >= <= != <> BETWEEN...AND...IN 等,通常这种方式需要和其他等值运算一起使用。
SELECT * FROM table1, table2 WHERE table1.Sal BETWEEN table1.lowersal AND table2.uppersal;
内连接和外连接
内连接:在进行多表查询的过程中,多张表当中不满足的都不显示。(等值)
外连接:在进行多表查询的时候,左边(右边)表不能满足条件的也显示出来。
外连接语法:使用外连接可以查询不满足连接条件的数据,外连接的符号是(+)。
左外连接:SELECT table1.column, table2.column FROM table1,table2 WHERE table1.column(+)=table2.column;
右外链接:SELECT table1.column, table2.column FROM table1,table2 WHERE table1.column=table2.column(+);
作用:出来可以查询了满足条件的数据,查询不满足条件的数据(左,右)。
全外连接
自连接:在一张表中某些字段有一定的关联。类似于emp表当中empno和mgr之间是一个关联的。
SELECT 表别名.字段...... FROM 表 别名,表 别名 WHERE 表1 别名.字段=表2 别名.字段;
SELECT e1.empno, e1.ename, e2.ename FROM emp e1, emp e2 WHERE e1.mgr=e2.empno;
自然连接:
NATURAL JOIN 子句,会以两个表中具有相同名字的列为条件创建等值连接。
在表中查询满足等值条件的数据。
如果只是列名相同而数据类型不同,则会产生错误。
SELECT ename, dname FROM emp, dept WHERE emp NATURAL JOIN dept;
主键:oid,唯一能标识一行的字段。非空,唯一特点。
外键:可以在一张表当中通过一个外键定位到另外一张表的主键里面。
一定要避免笛卡尔集合,在一些表当中,可能会存在一个外键,关联另外一个表当中的主键(或者是两张表当中有些字段有些相等关系)。如何避免笛卡尔集合:加入链接条件,N个表当中查询数据,条件不能少于n-1个。
等值连接和非等值连接
等值连接就是连接条件中使用“=”连接两个表
非等值连接就是指连接条件> >= <= != <> BETWEEN...AND...IN 等,通常这种方式需要和其他等值运算一起使用。
SELECT * FROM table1, table2 WHERE table1.Sal BETWEEN table1.lowersal AND table2.uppersal;
内连接和外连接
内连接:在进行多表查询的过程中,多张表当中不满足的都不显示。(等值)
外连接:在进行多表查询的时候,左边(右边)表不能满足条件的也显示出来。
外连接语法:使用外连接可以查询不满足连接条件的数据,外连接的符号是(+)。
左外连接:SELECT table1.column, table2.column FROM table1,table2 WHERE table1.column(+)=table2.column;
右外链接:SELECT table1.column, table2.column FROM table1,table2 WHERE table1.column=table2.column(+);
作用:出来可以查询了满足条件的数据,查询不满足条件的数据(左,右)。
全外连接
自连接:在一张表中某些字段有一定的关联。类似于emp表当中empno和mgr之间是一个关联的。
SELECT 表别名.字段...... FROM 表 别名,表 别名 WHERE 表1 别名.字段=表2 别名.字段;
SELECT e1.empno, e1.ename, e2.ename FROM emp e1, emp e2 WHERE e1.mgr=e2.empno;
自然连接:
NATURAL JOIN 子句,会以两个表中具有相同名字的列为条件创建等值连接。
在表中查询满足等值条件的数据。
如果只是列名相同而数据类型不同,则会产生错误。
SELECT ename, dname FROM emp, dept WHERE emp NATURAL JOIN dept;