自然連線的顯著作用在於控制笛卡爾集的產生,將其衍生出的冗餘資料歸一化;
消除笛卡爾集我們常常採用連線查詢,這裡可以認為自然連線是連線查詢的另一種體現;
自然連線的原理是這樣的,它會自動檢索兩張表中同名同型別的字段然後將其作為連線條件;
這樣就造成了乙個問題,那就是如果有多個同名同型別的字段時,它將應收盡收,以這麼多個字段作為連線條件;
為了能夠解決這種狀況,為了能夠指定自己想要使用的連線字段,產生了join…using的寫法;
與之作用類似的還有join…on;
下面貼出同一操作的四種寫法:
連線查詢
select a.x,b.y from a,b where a.z=b.z;
自然連線
select a.x,b.y from a natural
join b;
join…using
select a.x,b,y from a join b using
(z);
join…on
select a.x,b.y from a join b on a.z=y.z;
遞迴方式列印多個陣列的笛卡爾積
先宣告兩個全域性變數 private static int length private static int count 呼叫此方法,引數為可變長陣列 private static void execute string.args 遞迴呼叫列印笛卡爾積 private static void pr...
SQL中的多表關聯查詢 笛卡爾積 內連線 外連線
笛卡爾乘積是指在數學中,兩個集合x和y的笛卡爾積 cartesian product 又稱直積,表示為x y,第乙個物件是x的成員而第二個物件是y的所有可能有序對的其中乙個成員。笛卡爾積由笛卡爾提出。又稱笛卡爾乘積。簡單概括 舉例說明 集合x 集合y 兩個集合的笛卡爾積為.他們的結果為x集合的成員個...
兩種查詢方式的不同
第一種,查詢的 string hql select soft.softid,soft.softname,soft.id from so.supercargo.soft as soft where soft.state in 1,2 ilist list session.find hql 第二種,查詢...