我现在这里三个表
比如
第一个表 school ( name , dizhi , tel )
第二个表 class (className . id , pernum )
第三个表 stu ( sname , age , sex )
我这样才能把这三个表关联到一起呢
比如我selcet sname , name , tel from ???????(那个表呢) ??????????
比如
第一个表 school ( name , dizhi , tel )
第二个表 class (className . id , pernum )
第三个表 stu ( sname , age , sex )
我这样才能把这三个表关联到一起呢
比如我selcet sname , name , tel from ???????(那个表呢) ??????????
class(id, class_name, pernum, school_id)
stu(sname, age, sex, class_id)
通过这些id关联起来即可select c.sname, a.name, a.tel from stu c, school a, class b where (a.school_id = b.school_id and b.id = c.class_id)
每个stu应该有个class_id;
select stu.sname,school.name,school.tel
from school,class,stu
where school.id = class.school_id
and class.id = stu.class_id;
--第一个表school建表语句:
CREATE TABLE school (
school_ID NUMBER(8) ,
name VARCHAR2(256) ,
dizhi VARCHAR2(256) ,
tel NUMBER(8)
);
--第二个表 class建表语句:
CREATE TABLE class1 (
class_ID NUMBER(8) ,
className VARCHAR2(256) ,
pernum NUMBER(8),
school_ID NUMBER(8) --外建关联到school表
);
--第三个表stu建表语句:
CREATE TABLE stu (
stu_ID NUMBER(8) ,
sname VARCHAR2(256) ,
age NUMBER(4) ,
sex VARCHAR2(2) ,
class_ID NUMBER(8) --外建关联到class表
);
--关联语句: SELECT *
FROM school, CALSS1, STU
WHERE SCHOOL.school_ID = CALSS1.school_ID
AND CALSS1.class_ID = stu.class_ID;
我现在这里三个表
比如
第一个表 school ( name , dizhi , tel )
第二个表 class (className . id , pernum )
第三个表 stu ( sname , age , sex )我这样才能把这三个表关联到一起呢
比如我selcet sname , name , tel from ???????(那个表呢)……
SQL code
--第一个表school建表语句:
CREATE TABLE school (
school_ID NUMBER(8) ,
name VARCHAR2(256) ,
dizhi VARCHAR2(256) ,
tel NUMBER(8)
);
--第二个表 class建表语句:
CREATE TABLE class1 (
class_ID NUMBER(8) ,
className VARCHAR2(256) ,
pernum NUMBER(8),
school_ID NUMBER(8) --外建关联到school表
);
--第三个表stu建表语句:
CREATE TABLE stu (
stu_ID NUMBER(8) ,
sname VARCHAR2(256) ,
age NUMBER(4) ,
sex VARCHAR2(2) ,
class_ID NUMBER(8) --外建关联到class表
);
--关联语句: SELECT *
FROM school, CALSS1, STU
WHERE SCHOOL.school_ID = CALSS1.school_ID
AND CALSS1.class_ID = stu.class_ID;