關係代數:
1)求供應工程J1零件的供應商號碼SNO:
πSno(σSno=‘J1’(SPJ))
2)求供應工程J1零件P1的供應商號碼SNO:
πSno(σSno=‘J1’∧Pno=‘P1‘(SPJ))
3)求供應工程J1零件為紅色的供應商號碼SNO:
πSno(σPno=‘P1‘(σCOLOR=’紅‘ (P)∞SPJ))
4)求沒有使用天津供應商生產的紅色零件的工程號JNO:
πJno(SPJ)- πJNO(σcity=‘天津’∧Color=‘紅‘ (S∞SPJ∞P)
5)求至少用了供應商S1所供應的全部零件的工程號JNO:
πJno,Pno(SPJ)÷ πPno(σSno=‘S1‘ (SPJ))
sql語句:
( l )求供應工程 Jl 零件的供應商號碼 SNO ;
SELECT SNO FROM SPJ WHERE JNO=’J1’
( 2 )求供應工程 Jl 零件 Pl 的供應商號碼 SNO ;
SELECT SNO FROM SPJ WHERE JNO="J1" AND PNO="P1"
( 3 )求供應工程 Jl 零件為紅色的供應商號碼 SNO ;
SELECT SNO FROM SPJ,P WHEREJNO="J1" AND SPJ.PNO=P.PNO AND COLOR="紅"
( 4 )求沒有使用天津供應商生產的紅色零件的工程號 JNO ;
SELECT JNO FROM SPJ WHERE JNO NOT IN(SELE JNO FROM SPJ,P,S WHERE S.CITY="天津" AND COLOR="紅" ANDS.SNO=SPJ.SNO AND P.PNO=SPJ.PNO)。
( 5 )求至少用了供應商 Sl 所供應的全部零件的工程號 JNO ;
由於VFP不允許子查詢巢狀太深,將查詢分為兩步
A、查詢S1供應商供應的零件號
SELECT PNO FROM SPJ WHERE SNO="S1"結果是(P1,P2)
B、查詢哪一個工程既使用P1零件又使用P2零件。
SELECT FROM SPJ WHEREPNO="P1"
AND JNO IN (SELECT JNO FROM SPJ WHERE PNO="P2")
關係代數:
1)求供應工程J1零件的供應商號碼SNO:
πSno(σSno=‘J1’(SPJ))
2)求供應工程J1零件P1的供應商號碼SNO:
πSno(σSno=‘J1’∧Pno=‘P1‘(SPJ))
3)求供應工程J1零件為紅色的供應商號碼SNO:
πSno(σPno=‘P1‘(σCOLOR=’紅‘ (P)∞SPJ))
4)求沒有使用天津供應商生產的紅色零件的工程號JNO:
πJno(SPJ)- πJNO(σcity=‘天津’∧Color=‘紅‘ (S∞SPJ∞P)
5)求至少用了供應商S1所供應的全部零件的工程號JNO:
πJno,Pno(SPJ)÷ πPno(σSno=‘S1‘ (SPJ))
sql語句:
( l )求供應工程 Jl 零件的供應商號碼 SNO ;
SELECT SNO FROM SPJ WHERE JNO=’J1’
( 2 )求供應工程 Jl 零件 Pl 的供應商號碼 SNO ;
SELECT SNO FROM SPJ WHERE JNO="J1" AND PNO="P1"
( 3 )求供應工程 Jl 零件為紅色的供應商號碼 SNO ;
SELECT SNO FROM SPJ,P WHEREJNO="J1" AND SPJ.PNO=P.PNO AND COLOR="紅"
( 4 )求沒有使用天津供應商生產的紅色零件的工程號 JNO ;
SELECT JNO FROM SPJ WHERE JNO NOT IN(SELE JNO FROM SPJ,P,S WHERE S.CITY="天津" AND COLOR="紅" ANDS.SNO=SPJ.SNO AND P.PNO=SPJ.PNO)。
( 5 )求至少用了供應商 Sl 所供應的全部零件的工程號 JNO ;
由於VFP不允許子查詢巢狀太深,將查詢分為兩步
A、查詢S1供應商供應的零件號
SELECT PNO FROM SPJ WHERE SNO="S1"結果是(P1,P2)
B、查詢哪一個工程既使用P1零件又使用P2零件。
SELECT FROM SPJ WHEREPNO="P1"
AND JNO IN (SELECT JNO FROM SPJ WHERE PNO="P2")