常见的sql语句类型
sql --->
DDL 数据定义语言
TPL 事务处理语言
DCL 数据控制语言
DML 数据操作语言 ----> 增删改查 为重点
1,如何正确使用join从句
举例中使用的表如下: 西天取经四人组 vs 悟空的朋友们
id user_name id user_name 1 唐僧 1 孙悟空 2 猪八戒 2 牛魔王 3 孙悟空 3 姣魔王 4 沙僧 4 鹏魔王 5 狮拖王
join ------>
内连接 inner join : 基于连接谓词将两张表(如a和b表)的列组合在一起,产生新的结构表
全外连接 full outer join
左外连接 left outer join
右外连接 right outer join
交叉连接 cross join 基本不用
所有字段 select*from news a inner join related b on a.related_id = b.id ;
个别字段 select a.title,a.related_id,b.id from news a inner join related b on a.related_id = b.id;
内连接 inner join 图片
外连接 left outer join
select a.related_id,a.title,b.id from ent_news a left join ent_related b on a.related_id = b.id;
select a.related_id,a.title,b.id from ent_news a left join ent_related b on a.related_id = b.id
where b.id is null;
select a.related_id,a.title,b.id from ent_news a left join ent_related b on a.related_id = b.id
where b.id is not null; 这个和inner join一样取得交集
右外连接 right outer join
select a.related_id,b.title,b.small_title,b.id from ent_news a right join ent_related b on a.related_id = b.id;
select a.related_id,b.title,b.small_title,b.id from ent_news a right join ent_related b on a.related_id = b.id where a.related_id is null;
select a.related_id,b.title,b.small_title,b.id from ent_news a right join ent_related b on a.related_id = b.id where a.related_id is not null;
mysql中不支持全连接 可以用 unioin all 连接
全外连接 full outer join
跟新自身表中的某个字段
update user1 a join (select b.user_name from user1 a join user2 b on a.user_name= b.user_name) b on a.user_name = b.user_name set a.over=‘齐天大圣’;