選擇account_no上,金額,客戶從交易,其中分支= 'Pennywell'如何寫這些SQL的關係代數查詢
選擇c.customer_name,c.cust_street,c.cust_city,B。 branch_name,b.branch_city,a.account_no,a.balance from customer c,transactions t,accounts a,branch b where t.customer = c.customer_name and a.account_no = t.account_no and b.branch_name = a.branch_name
select customer_name,cust_city from customer where customer_name not in(select customer from transactio NS)
回答
第一種是隨後在account_no上,量,顧客投影只是Pennywell選擇:
\pi_{account_no, amount, customer} (\sigma_branch = 'Pennywell'(transactions))
第二個遵循相同的原則:
- 列出所有您的桌子:
客戶,交易,帳戶,分支
- 重命名使用\ RHO中的每一個:
\ rho_c(客戶),\ rho_t(事務),\ rho_a(帳戶) , \ rho_b(分支)
- 計算笛卡爾乘積
\ rho_c(客戶)X \ rho_t(交易)X \ rho_a(賬戶)X \ rho_b(分公司)
- 對結果進行選擇( 「裏」)步驟3更換和通過連接詞,或通過析取,而不是由否定:
\ sigma_ {t.customer = c.customer_name/\ a.account_no = t.account_no/\ b.branch_name =一個。 branch_name}(\ rho_c(custome r)的X \ rho_t(事務)X \ rho_a(帳戶)X \ rho_b(分支))
- 最後進行投影:
\ pi_ {c.customer_name,C .cust_street,c.cust_city,b.branch_name,b.branch_city,a.account_no,a.balance}(\ sigma_ {t.customer = c.customer_name/\ a.account_no = t.account_no/\ b.branch_name = a 。branch_name}(\ rho_c(客戶)X \ rho_t(交易)X \ rho_a(賬戶)X \ rho_b(分支)))
最後的查詢是有點棘手,它涉及多一點的思考。
\ pi_ {CUSTOMER_NAME}(交易)
都是我們要忽略客戶和
\ pi_ {CUSTOMER_NAME}(客戶)
是所有客戶。因此,
\ pi_ {CUSTOMER_NAME}(客戶) - \ {pi_ CUSTOMER_NAME}(交易)
都是那些我們想保持。最後,我們需要找到自己的城市(爲簡便起見,我採用加盟經營者| X |):
\ pi_ {CUSTOMER_NAME,cust_city}((\ {pi_ CUSTOMER_NAME}(客戶) - \ pi_ {customer_name}(transactions))| x | customer)
- 1. 數據庫關係代數,SQL查詢
- 2. 如何在關係代數中編寫這些語句
- 3. 如何用SQL查詢這些數據?
- 4. 如何在關係代數中編寫我的查詢?
- 5. 關係代數和域關係演算的SQL查詢
- 6. 如何爲以下查詢編寫關係代數表達式?
- 7. 關係代數查詢
- 8. 關係代數查詢
- 9. Laravel - 使用關係重寫這個SQL查詢
- 10. SQL關係查詢
- 11. SQL關係查詢
- 12. 如何合併這些SQL查詢
- 13. 如何優化這些SQL查詢?
- 14. 如何在SQLAlchemy中查詢這些外鍵關係?
- 15. 如何從這些表中編寫sql查詢
- 16. 如何在SQL Server中重寫這些TRIM訪問查詢
- 17. 複雜的MySQL查詢,多表 - 如何編寫這種關係查詢?
- 18. 如何寫sql查詢到這個?
- 19. 如何寫這個SQL查詢中JPQL
- 20. 如何寫這個sql查詢
- 21. 如何編寫這個SQL查詢?
- 22. 我該如何寫這個SQL查詢
- 23. 如何編寫這個SQL子查詢?
- 24. 如何用SubSonic3寫這個sql查詢?
- 25. 這個SQL查詢是否等價於這個關係代數語句?
- 26. 的Sql查詢,組關係
- 27. SQL如何查詢多對多關係
- 28. SQL查詢(在SQL中,關係代數和元組關係演算)
- 29. 你會如何在ActiveRecord關係中表示這個sql查詢?
- 30. 將SQL寫入關係代數
請問什麼意思| x |因爲我不明白 – chidoskychidosky 2013-02-16 02:12:41
| x |是自然連接運算符。來自維基百科:「自然連接的結果是R和S中元組的所有組合的集合,它們的公共屬性名稱相同。」 – 2013-02-16 14:06:10