mysql数据库连接

 表连接:

1、内连接 交叉连接 from 表1  [连接方式]  join 表2  [on 连接条件];

一个join连接两个数据库,on后接两个表的连接条件 两个表字段相等的数据

SELECT Sname,Degree FROM student 
JOIN score ON student.`Sno`=score.`Sno`
JOIN course ON course.`Cno`=score.`Cno`
JOIN teacher ON teacher.`Tno`=course.`Tno`
WHERE Tname='张旭';

SELECT protype_name FROM product JOIN product_type ON 
product.`protype_id`= product_type.`protype_id`
 WHERE pro_name LIKE '%索尼%4G手机%';


2、外连接=left左连接+right右连接,以放置前后为顺序。

左连接:以左表为主表,不满足数据也查询,右表根据左边自动补齐null。

SELECT * FROM dept01 LEFT JOIN emp01 ON emp01.did= dept01.did;

右连接:右外连接 以右表为主表,不满足数据也查询,右表根据左边自动补齐null。

SELECT * FROM emp01 RIGHT JOIN dept01 ON emp01.did = dept01.did;


3、i交叉连接:from  表1  [cross]  join  表2  ;基本不用


4、子查询 in

以上一个查询条件的结果作为这个查询的条件

SELECT * FROM product WHERE protype_id IN(
SELECT protype_id FROM product_type WHERE protype_name='手机数码'
);

 

SELECT * FROM product WHERE protype_id IN(
SELECT protype_id FROM product_type WHERE protype_name='手机数码'
);


5、联合查询 union

前后字段相同,条件相同

SELECT protype_id,protype_name FROM product_type
 UNION
 SELECT pro_id,pro_name FROM product;

硬拼凑一起

 

posted @ 2019-07-19 11:56  lvyimin  阅读(158)  评论(0编辑  收藏  举报