青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

f(sixleaves) = sixleaves

重劍無鋒 大巧不工

  C++博客 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
  95 隨筆 :: 0 文章 :: 7 評論 :: 0 Trackbacks
  1 /*
  2 保存客戶信息,F(xiàn)Id為主鍵,F(xiàn)Name為客戶姓名,F(xiàn)Age為客戶年齡
  3 */
  4 CREATE TABLE T_Customer(
  5  FId INT NOT NULL,
  6  FName VARCHAR(20NOT NULL,
  7  FAge INT,
  8  PRIMARY KEY(FId)
  9 );
 10 
 11 /*
 12 保存訂單類型,F(xiàn)Id為主鍵,F(xiàn)Name為類型名
 13 */
 14 CREATE TABLE T_OrderType(
 15     FId INT NOT NULL,
 16     FName VARCHAR(20NOT NULL,
 17     PRIMARY KEY(FId)
 18 );
 19 
 20 /*
 21 T_Order保存訂單信息,F(xiàn)Id為主鍵,F(xiàn)Number為訂單號,F(xiàn)Price為價格,F(xiàn)CustomerId為客戶的主鍵
 22 */
 23 CREATE TABLE T_Order(
 24     FId INT NOT NULL,
 25     FNumber VARCHAR(20NOT NULL,
 26     FPrice DECIMAL(10,2),
 27     FCustomerId INT,
 28     FTypeId INT,
 29     PRIMARY KEY(FId)
 30 );
 31 
 32 
 33 INSERT INTO T_Customer
 34 (FId,FName,FAge)
 35 VALUES
 36 (1,'TOM',21),
 37 (2,'MIKE',24),
 38 (3,'JACK',30),
 39 (4,'TOM',25),
 40 (5,'LINDA',NULL);
 41 
 42 INSERT INTO T_OrderType(FId,FName)
 43 VALUES
 44 (1,'MarketOrder'),
 45 (2,'LimitOrder'),
 46 (3,'Stop Order'),
 47 (4,'StopLimit Order');
 48 
 49 INSERT INTO T_Order
 50 (FId,FNumber,FPrice,FCustomerId,FTypeId)
 51 VALUES
 52 (1,'K001',100,1,1),
 53 (2,'K002',200,1,1),
 54 (3,'T003',300,1,2),
 55 (4,'N002',100,2,2),
 56 (5,'N003',500,3,4),
 57 (6,'T001',300,4,3),
 58 (7,'T002',100,NULL,1);
 59 
 60 #查看T_Customer表數(shù)據(jù)
 61 SELECT * FROM T_Customer;
 62 #查看T_OrderType數(shù)據(jù)
 63 SELECT * FROM T_OrderType;
 64 #查看T_Order表中的數(shù)據(jù)
 65 SELECT * FROM T_Order;
 66 
 67 #檢索所有的客戶姓名為MIKE的客戶的訂單號以及訂單價格
 68 
 69 SELECT T_Order.FId,FNumber,FPrice
 70 FROM
 71 T_Order INNER JOIN T_Customer
 72 ON FCustomerId = T_Customer.FId
 73 WHERE T_Customer.FName = 'TOM';
 74 /*
 75 大多數(shù)數(shù)據(jù)庫中INNER JOIN 中的INNER是可選的,而就是說INNER JOIN是默認的連接方式
 76 以上在ON后加等號的也都稱為等值連接。這是按照ON后邏輯運算符來分的類,可以分為兩類
 77 
 78 */
 79 
 80     #不等值連接
 81         #檢索價格小于每個客戶的年齡的五倍值的訂單列表
 82         SELECT o.FNumber,o.FPrice,c.FName,c.FAge
 83         FROM
 84         T_Order o INNER JOIN T_Customer c
 85         ON o.FPrice < c.FAge * 5;
 86 
 87 #交叉連接
 88     與內(nèi)連接比起來,交叉連接非常簡單,因為它不存在ON字句。交叉連接會將涉及到的所有表中的所有記錄
 89     都包含在結(jié)果集中。可以采用兩種方式來定義交叉連接,分別是隱式的和顯示的。
 90 
 91     隱式的交叉連接,其是就是數(shù)學上兩張表做全相乘,在FROM字句后跟上表名,用逗號分隔就行。這種方式幾
 92     乎可以被任意的數(shù)據(jù)庫支持,如下面的sql語句將T_Customer表和T_Order表做交叉連接
 93     SELECT T_Customer.FId, T_Customer.FName, T_Customer.FAge,
 94     T_Order.FId, T_Order.FNumber, T_Order.FPrice
 95     FROM T_Customer, T_Order;
 96 
 97 
 98 #自連接(特例)
 99     其實參與連接的表完全可以是同一張表,也就是表與其自身相互連接,這樣的連接被稱為自連接。自連接
100     并不是獨立于交叉連接、內(nèi)連接、外連接等這些鏈接方式之外的另外一種連接方式,而知識這些連接方式
101     的一種特例,也就是交叉連接、內(nèi)連接、外連接等連接方式中只要參與連接同一張表可以被稱為自連接。
102     SELECT o1.FNumber,o1.FPrice,o1.FTypeId,
103     o2.FNumber,o2.FPrice,o2.FTypeId
104     FROM T_Order o1
105     INNER JOIN T_Order o2
106     ON o1.FTypeId=o2.FTypeId and o1.FId<o2.FId
107 
108 
109 
110 #外部連接
111 SELECT o.FNumber,o.FPrice,o.FCustomerId,c.FName,c.FAge
112 FROM
113 T_Order o INNER JOIN T_Customer c
114 ON o.FCustomerId = c.FId;
115 +---------+--------+-------------+-------+------+
116 | FNumber | FPrice | FCustomerId | FName | FAge |
117 +---------+--------+-------------+-------+------+
118 | K001    | 100.00 |           1 | TOM   |   21 |
119 | K002    | 200.00 |           1 | TOM   |   21 |
120 | T003    | 300.00 |           1 | TOM   |   21 |
121 | N002    | 100.00 |           2 | MIKE  |   24 |
122 | N003    | 500.00 |           3 | JACK  |   30 |
123 | T001    | 300.00 |           4 | TOM   |   25 |
124 +---------+--------+-------------+-------+------+
125 
126 而其中T002訂單沒有顯示,因為其FCustomeredId = NULL,對于內(nèi)聯(lián)接來說,沒匹配是不顯示的。
127 那么當我們在沒匹配時也需要顯示,但在另外那欄目填上NULL,就需要用外聯(lián)接來解決。
128 
129 
130 外連接與內(nèi)連接的區(qū)別:
131 區(qū)別在對于空值的處理。外部連接不需要兩個表具有匹配記錄,這樣可以指定某個表中的記錄是放到結(jié)果集中。
132 根據(jù)那個表中的記錄總是放到結(jié)果集中,外部連接又分為三種類型,右外連接,簡稱右連接(RIGHT [OUTER] JOIN)、左外連接,簡稱
133 左連接(LEFT [OUTER] JOIN)和全外部連接(FULL OUTER JOIN)。
134 
135 全外部連接其實就是 左外連接和右外連接的并集。同時要注意的是這里的左表和右表是相對于JOIN關(guān)鍵字來說的,位于JOIN關(guān)鍵字左側(cè)
136 的表即稱為左表,而位于JOIN關(guān)鍵字右側(cè)的表即稱為右表。
137 比如:
138 SELECT o.FNumber,o.FPrice,o.FCustomerId,
139 c.FName,c.FAge
140 FROM
141 T_Order o INNER JOIN T_Customer c
142 ON o.FCustomerId = c.FId;
143 這里T_Order就是左表,T_Customer則是右表
144 
145     #左外部連接
146     在左外部連接中,左表中所有的記錄都會被放到結(jié)果集中,無論是否在右表中存在匹配記錄。比如下面的SQL語句用來實現(xiàn)
147     “查詢每張訂單號、價格、對應(yīng)的客戶姓名以及客戶年齡,如果沒有相應(yīng)的客戶,則在客戶信息處顯示空格”
148     SELECT o.FNumber,o.FPrice,o.FCustomerId,
149     c.FName,c.FAge
150     FROM
151     T_Order o LEFT OUTER JOIN T_Customer c
152     ON o.FCustomerId = c.FId;
153     +---------+--------+-------------+-------+------+
154     | FNumber | FPrice | FCustomerId | FName | FAge |
155     +---------+--------+-------------+-------+------+
156     | K001    | 100.00 |           1 | TOM   |   21 |
157     | K002    | 200.00 |           1 | TOM   |   21 |
158     | T003    | 300.00 |           1 | TOM   |   21 |
159     | N002    | 100.00 |           2 | MIKE  |   24 |
160     | N003    | 500.00 |           3 | JACK  |   30 |
161     | T001    | 300.00 |           4 | TOM   |   25 |
162     | T002    | 100.00 |        NULL | NULL  | NULL |
163     +---------+--------+-------------+-------+------+
164 
165     雖然左外部連接包含左表中的所有記錄,但是它只提供出示的結(jié)果集,WHERE語句仍然會
166     改變最終的結(jié)果集。比如為上面的SQL語句添加一個WHERE子句,使得結(jié)果中不包含價格小于
167     150元的訂單:
168     SELECT o.FNumber,o.FPrice,o.FCustomerId,
169     c.FName,c.FAge
170     FROM T_Order o
171     LEFT OUTER JOIN T_Customer c
172     ON o.FCustomerId=c.FId
173     WHERE o.FPrice>=150;
174 
175     +---------+--------+-------------+-------+------+
176     | FNumber | FPrice | FCustomerId | FName | FAge |
177     +---------+--------+-------------+-------+------+
178     | K002    | 200.00 |           1 | TOM   |   21 |
179     | T003    | 300.00 |           1 | TOM   |   21 |
180     | N003    | 500.00 |           3 | JACK  |   30 |
181     | T001    | 300.00 |           4 | TOM   |   25 |
182     +---------+--------+-------------+-------+------+
183 
184     執(zhí)行以后我們在輸出結(jié)果中看到下面的執(zhí)行結(jié)果:
185     盡管左外部連接返回了T_Order表中的所有記錄,但是由于WHERE語句的過濾,包括
186     訂單號為T002在內(nèi)的所有價格小于150元的訂單全部被排除在了結(jié)果集之外。
187 
188     #右外部連接
189     和左外部連接就是個相對的概念而已
190     #全外部連接
191     幾乎所有的數(shù)據(jù)庫都支持左外部連接和右外部連接,但是全外部連接并不是所有數(shù)據(jù)庫都支持,特別是mysql
192     。而我們的練習是給予mysql的,但在mysql中我們可以通過使用UNION運算符來取兩個查詢結(jié)果集的并集。
193     SELECT o.FNumber,o.FPrice,o.FCustomerId,
194     c.FName,c.FAge
195     FROM T_Order o
196     LEFT OUTER JOIN T_Customer c
197     ON o.FCustomerId=c.FId
198     UNION
199     SELECT o.FNumber,o.FPrice,o.FCustomerId,
200     c.FName,c.FAge
201     FROM T_Order o
202     RIGHT OUTER JOIN T_Customer c
203     ON o.FCustomerId=c.FId;
204     +---------+--------+-------------+-------+------+
205     | FNumber | FPrice | FCustomerId | FName | FAge |
206     +---------+--------+-------------+-------+------+
207     | K001    | 100.00 |           1 | TOM   |   21 |
208     | K002    | 200.00 |           1 | TOM   |   21 |
209     | T003    | 300.00 |           1 | TOM   |   21 |
210     | N002    | 100.00 |           2 | MIKE  |   24 |
211     | N003    | 500.00 |           3 | JACK  |   30 |
212     | T001    | 300.00 |           4 | TOM   |   25 |
213     | T002    | 100.00 |        NULL | NULL  | NULL |
214     | NULL    |   NULL |        NULL | LINDA | NULL |
215     +---------+--------+-------------+-------+------+
216     8 rows in set (0.00 sec)
217 
218 
在總結(jié)下其實表的連接也就主要有內(nèi)連接,外連接,交叉連接。而交叉連接就是所謂的全相乘,而外連接又分為左外連接,右外連接,全部外連接三種。至于外連接和內(nèi)連接的區(qū)別主要是在于匹配到NULL時的處理區(qū)別,而這其中還存在一種特殊連接就是自連接,自連接并不是獨立于這幾種連接的,而是這幾種連接中的一種特例而存在。
posted on 2014-04-24 20:52 swp 閱讀(1195) 評論(0)  編輯 收藏 引用 所屬分類: Web
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲丁香婷深爱综合| 亚洲精品一区久久久久久| 国产精品系列在线| 亚洲人成在线影院| 久久综合久久综合这里只有精品| 一本色道久久综合亚洲精品高清 | 99ri日韩精品视频| 麻豆国产精品va在线观看不卡| 国产一区二区在线观看免费播放| 亚洲一区二区精品| av成人福利| 国产精品高清网站| 亚洲欧美中文另类| 一本久久a久久免费精品不卡| 欧美日韩不卡合集视频| 亚洲国内精品| 亚洲激情在线观看| 美女久久一区| 亚洲片在线观看| 亚洲欧洲日产国码二区| 欧美精品三区| 亚洲图片在线| 亚洲欧美日本国产专区一区| 国产欧美日韩一区| 久久婷婷国产综合精品青草| 久久久在线视频| 在线观看日韩av先锋影音电影院| 女仆av观看一区| 欧美精品久久久久久久| 亚洲欧美久久久| 欧美在线观看视频一区二区| 在线观看欧美| 99视频一区| 狠狠色丁香婷婷综合影院| 亚洲二区在线视频| 国产精品精品视频| 久久综合九色| 欧美日本高清| 欧美一区二区成人6969| 久久超碰97中文字幕| 亚洲精品一区二区三区四区高清| 中国亚洲黄色| 亚洲大胆av| 亚洲视频axxx| 亚洲福利视频一区| 亚洲一级高清| 亚洲国产高清高潮精品美女| 99这里只有精品| 伊人色综合久久天天| 妖精成人www高清在线观看| 国产一区二区精品在线观看| 亚洲高清在线| 国产午夜久久久久| 亚洲精品免费在线| 国产日韩欧美一二三区| 亚洲精品日韩一| 伊人激情综合| 亚洲午夜在线| 亚洲精品在线免费| 久久精品国产亚洲高清剧情介绍| 日韩视频不卡中文| 久久久久久久精| 午夜激情综合网| 欧美不卡在线| 久久一区二区三区四区| 国产精品二区二区三区| 欧美激情影院| 国内成人精品一区| 亚洲一区二区四区| 亚洲视频久久| 欧美电影电视剧在线观看| 久久蜜臀精品av| 欧美午夜精品理论片a级大开眼界| 免费成人黄色| 国产亚洲综合精品| aa级大片欧美| 99国产精品久久久久久久| 久久亚洲精品一区| 久久天天躁狠狠躁夜夜爽蜜月| 国产精品一香蕉国产线看观看| 亚洲精品乱码久久久久久黑人| 亚洲第一黄网| 久久中文精品| 美女视频黄免费的久久| 国产一区二区三区在线观看免费视频 | 亚洲欧美激情四射在线日| 一本色道久久综合亚洲精品按摩 | 欧美一级网站| 亚洲尤物在线| 欧美吻胸吃奶大尺度电影| 亚洲激情第一区| 亚洲国产精品第一区二区| 久久一区二区三区国产精品| 久久在线播放| 伊人男人综合视频网| 久久久国产精品一区二区三区| 久久久久国产一区二区三区| 国产精品嫩草99a| 亚洲一区制服诱惑| 欧美一区精品| 国产综合一区二区| 久久精品综合| 欧美激情一区二区三区蜜桃视频 | 久久亚洲精品伦理| 亚洲高清在线播放| 嫩草国产精品入口| 99riav国产精品| 午夜天堂精品久久久久| 国产人成精品一区二区三| 欧美自拍偷拍| 欧美福利视频在线| 99国产精品久久久久久久| 国产精品久久久久高潮| 午夜视频精品| 麻豆精品一区二区av白丝在线| 亚洲黄色视屏| 欧美亚洲不卡| 欧美在线一二三四区| 欧美韩日亚洲| 亚洲欧美一区二区原创| 国内精品久久久久国产盗摄免费观看完整版| 欧美在线免费播放| 91久久久一线二线三线品牌| 国产精品99久久久久久久女警 | 狠狠色丁香婷婷综合| 欧美极品影院| 午夜国产精品影院在线观看| 欧美福利在线| 亚洲欧美日韩国产一区二区三区 | 永久91嫩草亚洲精品人人| 欧美插天视频在线播放| 在线午夜精品| 蜜桃久久av| 亚洲免费网址| 亚洲电影一级黄| 国产精品乱人伦一区二区| 久久亚洲国产精品一区二区| 一区二区三区精品在线| 欧美99久久| 欧美一区二区三区视频在线 | 永久555www成人免费| 欧美三级中文字幕在线观看| 久久精品首页| 亚洲午夜激情网站| 亚洲国产高清视频| 久久久国产午夜精品| 在线一区欧美| 在线国产精品播放| 国产欧美一区二区精品婷婷| 欧美韩日一区二区| 久久久久久久久久久一区| 亚洲视频免费在线| 亚洲精品国产视频| 欧美肥婆在线| 久久免费少妇高潮久久精品99| 亚洲欧美国产高清va在线播| 99pao成人国产永久免费视频| 在线精品高清中文字幕| 国产日本欧美视频| 国产精品高清免费在线观看| 欧美精品尤物在线| 女同性一区二区三区人了人一 | 欧美国产精品专区| 久久久久久久综合狠狠综合| 亚洲免费一级电影| 亚洲午夜视频| 99热精品在线| 日韩一区二区高清| 亚洲精品国产日韩| 亚洲精品黄色| 亚洲精品乱码久久久久久日本蜜臀 | 亚洲综合国产精品| 亚洲精品一区二区三区福利| 亚洲国产精品va在线看黑人动漫| 曰韩精品一区二区| 在线观看欧美视频| 亚洲高清不卡在线观看| 在线播放不卡| 亚洲国产另类久久精品| 亚洲国产精品成人综合| 亚洲国产精品成人一区二区| 伊人男人综合视频网| 亚洲国产精品悠悠久久琪琪| 亚洲国产乱码最新视频| 亚洲国产精品va在线观看黑人| 亚洲国产国产亚洲一二三| 亚洲国产成人在线播放| 亚洲精品一区中文| 99riav国产精品| 一区二区成人精品| 亚洲天堂成人| 亚洲主播在线播放| 欧美与黑人午夜性猛交久久久| 午夜精品国产精品大乳美女| 欧美一级视频精品观看| 久久视频一区二区| 亚洲国产日韩美| 亚洲精品三级| 亚洲一区网站| 久久久伊人欧美|