SQL> desc bbs;
Name Type Nullable Default Comments
---- ------------ -------- ------- --------
XH NUMBER
XM VARCHAR2(20)
XB VARCHAR2(10)
CSNY DATE
SZCS VARCHAR2(30) Y
WD NUMBER(4,1) Y SQL> desc ccs;
Name Type Nullable Default Comments
---- ------------ -------- ------- --------
XH NUMBER Y
XM VARCHAR2(20) Y
CJ NUMBER(3,1) Y
NL NUMBER(3,1) Y
我想查询表BBS中的CSNY、SZCS列和表CCS中的CJ列和NL列.
请问怎么实现
顺便能用这两个表说下相等连接 、外连接、不等连接、自连接.
Name Type Nullable Default Comments
---- ------------ -------- ------- --------
XH NUMBER
XM VARCHAR2(20)
XB VARCHAR2(10)
CSNY DATE
SZCS VARCHAR2(30) Y
WD NUMBER(4,1) Y SQL> desc ccs;
Name Type Nullable Default Comments
---- ------------ -------- ------- --------
XH NUMBER Y
XM VARCHAR2(20) Y
CJ NUMBER(3,1) Y
NL NUMBER(3,1) Y
我想查询表BBS中的CSNY、SZCS列和表CCS中的CJ列和NL列.
请问怎么实现
顺便能用这两个表说下相等连接 、外连接、不等连接、自连接.
FROM BBS A
LEFT JOIN CCS B ON A.XH=B.XH AND A.XM=B.XM相等连接 --->INNER JOIN 完全相等则选出来
外连接--->分为左连和右(左边是左表全部的,加右表符合条件;右连则反之)
不等连接-->一般用IS NULL或IS NOT NULL来表达
自连接--(如:select * from a,b)
SELECT b.csny, b.szcs, c.cj. c.nl
FROM bbs b JOIN ccs c
ON (b.csny=c.cj AND b.szcs=c.nl);外连接:
SELECT b.csny, b.szcs, c.cj. c.nl
FROM bbs b LEFT OUTER JOIN ccs c
ON (b.csny=c.cj AND b.szcs=c.nl);SELECT b.csny, b.szcs, c.cj. c.nl
FROM bbs b RIGHT OUTER JOIN ccs c
ON (b.csny=c.cj AND b.szcs=c.nl);不等连接
SELECT b.csny, b.szcs, c.cj. c.nl
FROM bbs b JOIN ccs c
ON (b.csny<>c.cj OR b.szcs<>c.nl);
自连接 SELECT B1.CSNY, B2.SZCS FROM BBS B1, BBS B2 WHERE B1.XH = B2.XH