程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> MYSQL數據庫 >> MySQL綜合教程 >> MySql連接查詢精解

MySql連接查詢精解

編輯:MySQL綜合教程


MySql連接查詢精解   出於對知識的總結和分享,對常見的查詢做了練習和總結。 數據准備,包括兩個表,tuser和ttable。tuser和ttable為1對多關系。 tuser表結構如下: 名稱  www.2cto.com   類型 備注 id                                                                        Integer                                                      主鍵                                                          name Varchar(50) 用戶名稱 password Varchar(50) 用戶密碼 Sex Varchar(20) 用戶性別   ttable表機構如下: 名稱 類型 備注 id                                                                        Integer                                                      主鍵                                                           name Varchar(50) 名稱 userid Integer  用戶id   建表語句: [sql]  <span style="font-size:18px;">Create table tuser(id Integer primary key,                      name varchar(50),                  password varchar(50),                      sex  varchar(20)                      );   Create table ttable(id Integer primary key,                  name varhcar(50),                      userid Integer   );    www.2cto.com   </span>       插入數據語句 [sql]  <span style="font-size:18px;">Insert into tuser(id, name, password,sex)values(1,’中文’,’測試’,’m’);   Insert into tuser(id, name, password,sex)values(2,’中文’,’測試’,’m’);      Insert into ttable(id,name, userid)values(1,’1’,1);   Insert into ttable(id,name, userid)values(2,’2’,2);   Insert into ttable(id,name, userid)values(3,’2’,2);   </span>     1、  左外連接 select * from ttablet left join tuser u on t.userid=2 and t.userid=u.id;結果如下:

  以左側表(ttable)為基礎,滿足條件數據全部查詢出來,右表(tuser)不滿足條件出現null補齊   2、右外連接  select * from ttable t right join tuser u on t.userid=2 and t.userid=u.id出現如下結果:  www.2cto.com  

  以右表為基礎(tuser)滿足條件的數據全部查詢出來,左表(ttable)不滿足條件出現null補齊   3、內連接 select * from ttable,tuser;出現結果如下:

  以笛卡爾積的方式展現。設A、B為集合,用A中的元素x作第一元素,B中的元素y作第二元素,構成有序對,所有這樣的有序對組成的集合,叫做A和B的笛卡兒積,記做A×B。  在數據庫中,設有關系A為 <學號、姓名> ,具體內容為{ <1,張三> , <2,李四> };關系B為 <學號、年齡> ,具體內容為{ <1,20> <2,22> }。  則A×B={ <1,張三,1,20> , <1,張三,2,22> , <2,李四,1,20> , <2,李四,2,22> }  如果再做第一列=第三列的選擇,再做只保留第一、第二、第三列的投影,即得{ <1,張三,20> , <2,李四,22> }這樣,通過關系代數的三個運算,我們查到了每個人的年齡。     作者 柳波

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved