1. 程式人生 > >SQLAlchemy全連線的使用(full join)

SQLAlchemy全連線的使用(full join)

今天工作中操作mysql進行統計,需要用到全連線(full join)才能解決問題,但是我們用的SQLAlchemy,用SQLAlchemy快一年了,還真沒用過全連線,mysql中用到過,然後查詢SQLAlchemy的官方文件,並沒有發現相關的函式,只有左右連線和內連線,真是無奈,想著只能用原生的sql來解決了,但我想著SQLAlchemy這麼牛x肯定會提供相關的操作的,畢竟full join也是很重要的,經過檢視原始碼,知道通可以通過join中的引數來設定全連線

session = Session()
print session.query(Nodes.uid, NodeProducts.uid
).join(NodeProducts, Nodes.uid == NodeProducts.uid, full=True)

生成的SQL為

SELECT nodes.uid AS nodes_uid, node_products.uid AS node_products_uid 
FROM nodes FULL OUTER JOIN node_products ON nodes.uid = node_products.uid