鏈接查詢詳解


鏈接查詢:mysql

以一個共同的字段,求兩張表當中符合條件的並集。 經過共同字段把這兩張錶鏈接起來。sql

經常使用的鏈接:ide

內鏈接:根據表中的共同字段進行匹配rem

外鏈接分兩種:左外鏈接、右外連接。it

 

 

1內鏈接 語法:table

select 字段  from 表1 inner join 表2  on 表1.字段=表2.字段class

 

2 內鏈接:根據表中的共同字段進行匹配select

create table student(語法

            sid int(4) primary key auto_increment,im

            name varchar(50)

);

mysql> insert into student values(1,'張三'),(2,'mk'),(3,'jack'),(4,'tom');

 

建立年級表:grade

create table grade(

            id int(4) primary key auto_increment,

            score varchar(20),

            sid int(4)

);

mysql> insert into grade (score,sid) values ('1231',3),('1231',4),('1231',5),('1231',6);

 

 

查詢有的成績的人的信息.

mysql> select  student.*,grade.* from student,grade where student.sid=grade.sid;

或:

或:

mysql> select student.*,grade.* from student inner join grade  on student.sid=grade.sid;

或:

mysql> select student.*,grade.* from student  join grade  on student.sid=grade.sid;

 

使用表別名,簡寫SQL語句

mysql> select s.*,g.* from student as s inner join grade as g on s.sid=g.sid;

3 外鏈接:現實某數據表的所有記錄和另外表中符合鏈接條件的記錄。

 

左鏈接: select  字段 from a表 left join b表  on 鏈接條件

a表是主表,都顯示。

b表從表

 

主表內容全都有,從表內沒有的現實null。

mysql> select * from student as s left join grade as g on s.sid=g.sid;

右鏈接:

select 字段 from a表 right join  b表 on 條件

a表是從表,都顯示。

b表主表

 

select * from student as s right join grade as g on s.sid=g.sid;

grade表爲主表,所有記錄顯示出來,student爲從表。不匹配的地方以NULL顯示

右鏈接,能夠多表鏈接

注意:有鏈接多表鏈接 是 前兩個錶鏈接後 成爲從表 ,在和第三個錶鏈接。

相關文章
相關標籤/搜索