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

来源:互联网 发布:消防知识知多少 编辑:程序博客网 时间:2024/06/05 15:59

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离线'

);

0 0
原创粉丝点击