您的位置:首页 > 数据库 > MySQL

mysql数据库__join(行关联)_union(列关联)_minus(集合相减)_intersect(交集)_TRIM(取出空白字符)_ COMMENT(字段加注释)_CONCAT(字段追加内容)

2014-11-03 14:20 483 查看
1、JOIN已经在前面讲过。举例::

select FiledName1,FiledName2,FiledName3,*** from TableName1 left join TableName2 on 关联条件。

select FiledName1,FiledName2,FiledName3,*** from TableName1 right join TableName2 on 关联条件。

select FiledName1,FiledName2,FiledName3,*** from TableName1 join TableName2 on 关联条件。

2、mysql提供了__union__将两个select的结果进行相加,并去重;

例如 有表A和表B (A集合 并 B集合 去掉重复的部分)

(select name from A)

union

(select name from B)

出现在表A中的名字和出现在表B中的名字并集,重复的部分只去重;

union除了可以将多个表合并,还可以实现总表表转横表。

横标转总表,可以通过if,group by,sum等配合完成;

3、mysql提供了__union all__将两个select的结果进行相加,不去重;

例如 有表A和表B (A集合 并 B集合)

(select name from A)

union all

(select name from B)

出现在表A中的名字和出现在表B中的名字并集,重复的部分显示两次;

4、mysql提供了__minus__将第一个select的结果而在第二个select中没有的结果;

例如 有表A和表B (A集合 - B集合)

(select name from A)

minus

(select name from B);

就是表A中的name去除出现在表B中的name的结果。

5、mysql提供了__intersect__求两个select语句结果中相同的结果;

例如 有表A和表B (即两个集合的交集)

(select name from A)

intersect

(select name from B);

就是表A中的name同时也出现在表B中的name的结果。

6、mysql提供了__concat__将两个字段记录合并成一个,即字符串链接;

select concat(str_1,str_2) from table_name;

7、mysql提供了__SUBSTR__来进行字符串截取字符串函数;

8、mysql提供了__TRIM__用来去除字符串前后的空白字符;

select TRIM(" aaabbb "); 将得到aaabbb

select LTRIM(" aaabbb "); 将字符串左边的空白字符去掉

select RTRIM(" aaabbb "); 将字符串右边的空白字符去掉

9、在mysql的sql语句中,要给某个字段追加数据,类似于给字符串追加数据:

使用CONCAT方法:

在字段后面追加字符串

update table_name set field_name=CONCAT(field_name,'','string');

在字段前面追加字符串

update table_name set field_name=CONCAT('string',''field_name);

10、我们创建的表中通常有些字段用来表示状态,时间长了,我们自己都不知道这个字段是什么含义。

为此我们有时候需要给该字段加注释,使用的是Mysql的COMMENT关键字。

方法::

create database db_bill_test;

create table t_bill_test

(

name varchar(20) not null default '',

flag int(10) not null default 0 COMMENT '0在线,1离线'

);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: