They create hidden coupling and undermine independent schema evolution.
A service boundary is weaker if one service directly depends on another service's tables. APIs, events, or replicated views are safer ways to cross the boundary without merging data ownership.
Additional Notes
Why avoid cross-service SQL joins?
Track: Java
Topic: Microservice Architecture
Focus: Database per Service
Topics:Database per ServiceJavaMicroservice Architecture