MYSQL 语法常用

原创 2011年01月08日 11:18:00
独立新建表

CREATE TABLE TT (ID INT, NAME VARCHAR(20));

从已知表复制表

CREATE TABLE TT AS SELECT * FROM CC;
2011-01-07                 22:18:00

Mysql之inner join,left join,right join详解

首先借用官方的解释下:

inner join(等值连接):只返回两个表中联结字段相等的行;

left join(左联接):返回包括左表中的所有记录和右表中联结字段相等的记录;

right join(右联接):返回包括右表中的所有记录和左表中联结字段相等的记录。

 

mysql> create table account( id int ,name varchar(16));
mysql> create account1 ( id int, sex int);

mysql> show tables;
+----------------+
| Tables_in_test |
+----------------+
| account        |
| account1       |
+----------------+
2 rows in set (0.00 sec)

mysql> insert into account (id,name) values(1,'lee');
Query OK, 1 row affected (0.00 sec)

mysql> insert into account (id,name) values(2,'sophia');
Query OK, 1 row affected (0.00 sec)

mysql> insert into account (id,name) values(3,'unlown');
Query OK, 1 row affected (0.00 sec)

mysql> insert into account1 (id, sex) values (1,1);
Query OK, 1 row affected (0.00 sec)

mysql> insert into account1 (id, sex) values (2,0);
Query OK, 1 row affected (0.00 sec)

mysql> select * from account;
+------+--------+
| id   | name   |
+------+--------+
|    1 | lee    |
|    2 | sophia |
|    3 | unlown |
+------+--------+
3 rows in set (0.00 sec)


mysql> select * from account1;
+------+------+
| id   | sex  |
+------+------+
|    1 |    1 |
|    2 |    0 |
+------+------+
2 rows in set (0.00 sec)



mysql> select * from account left join account1 on account.id = account1.id;
+------+--------+------+------+
| id   | name   | id   | sex  |
+------+--------+------+------+
|    1 | lee    |    1 |    1 |
|    2 | sophia |    2 |    0 |
|    3 | unlown | NULL | NULL |
+------+--------+------+------+
3 rows in set (0.00 sec)

the same as :
mysql> select * from account,account1 where account.id = account1.id;
+------+--------+------+------+
| id   | name   | id   | sex  |
+------+--------+------+------+
|    1 | lee    |    1 |    1 |
|    2 | sophia |    2 |    0 |
+------+--------+------+------+
2 rows in set (0.00 sec)


 

mysql> select * from account left join account1 on account.id = account1.id;


+------+--------+------+------+
| id | name | id | sex |
+------+--------+------+------+
| 1 | lee | 1 | 1 |
| 2 | sophia | 2 | 0 |
| 3 | unlown | NULL | NULL |
+------+--------+------+------+
3 rows in set (0.00 sec)

mysql> select * from account right join account1 on account.id = account1.id;
+------+--------+------+------+
| id | name | id | sex |
+------+--------+------+------+
| 1 | lee | 1 | 1 |
| 2 | sophia | 2 | 0 |
+------+--------+------+------+
2 rows in set (0.00 sec)

mysql> select * from account inner join account1 using (id);
+------+--------+------+
| id   | name   | sex  |
+------+--------+------+
|    1 | lee    |    1 |
|    2 | sophia |    0 |
+------+--------+------+
2 rows in set (0.00 sec)


相关文章推荐

Mysql和Sqlserver常用功能语法比对

  • 2013年04月12日 12:17
  • 14KB
  • 下载

mysql常用语法与代码笔记

  • 2009年09月19日 16:16
  • 113KB
  • 下载

mysql常用基础操作语法(六)--对数据排序和限制结果数量的条件查询【命令行模式】

1、使用order by对查询的结果进行排序,asc升序,desc降序:也可以在order by后指定多个字段名和排序方式进行多级排序:2、使用limit限制查询结果的数量:上图中的0,代表查询的开始...

MySQL 常用语法总结

MySQL 常用语法总结一、SQL速成 结构查询语言(SQL)是用于查询关系数据库的标准语言,它包括若干关键字和一致的语法,便于数据库元件(如表、索引、字段等)的建立和操纵。   以下是...

mysql常用基础操作语法(七)--统计函数和分组查询【命令行模式】

注:文中所有的。。。代表多个。1、使用count统计条数:select count(字段名。。。) from tablename;2、使用avg计算字段的平均值:select avg(字段名) fro...

MySQL的常用语法

SQL语言已是主流,但具体到特定的数据库上仍有细微的差别。对于MySQL的常用语法,本文做一个小的总结。...

mysql的增删改查常用语法

SQL语句分类 按功能(定义、操纵、控制、查询)分类 DDL 数据定义语言,定义表、库、视图 DML 对数据表记录 增加、修改和删除操作 DCL 授权、事务控制、条件判断  DQL (不是W3...

mysql常用基础操作语法(十一)~~字符串函数【命令行模式】

注:sql的移植性比较强,函数的移植性不强,一般为数据库软件特有,例如mysql有mysql的函数,oracle有oracle的函数。1、concat连接字符串:从上图中可以看出,直接使用select...

最常用MySQL数据库操作语法语句命令整理汇总

select * from emp;  #注释 #--------------------------- #----命令行连接MySQL--------- #启动mysql服务器 net ...
  • ourpush
  • ourpush
  • 2016年10月30日 21:52
  • 140

mysql常用基础操作语法(二)~~对表的增删改操作【命令行模式】

1、修改表名:alert table oldtablename rename newtablename; 或者alert table oldtablename rename to newtablena...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:MYSQL 语法常用
举报原因:
原因补充:

(最多只允许输入30个字)