美文网首页
八、连接和多张表的操作

八、连接和多张表的操作

作者: 天天阳光好 | 来源:发表于2017-04-19 23:31 被阅读0次

    一、抓取数据创建表的3种方式

    1、先create table、再select,最后insert

    CREATE TABLE table_name1

    (

       id INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,

       column_name1 VARCHAR(30)

    );

    INSERT INTO table_name1 (column_name1)

       SELECT column_name2 FROM table_name2

       GROUP BY column_name2

       ORDER BY column_name2;

    2、利用select进行create table,然后以alter添加主键

    CREATE TABLE table_name1 AS

       SELECT column_name2 FROM table_name2

       GROUP BY column_name2

       ORDER BY column_name2;

    ALTER table_name1

    ADD COLUMN id INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY FIRST,

    ADD PRIMARY KEY(id);

    3、create table的同时设置主键并利用select填入数据

    CREATE TABLE table_name1

    (

       id INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,

       column_name1 VARCHAR(30)

    ) AS

       SELECT column_name2 FROM table_name2

       GROUP BY column_name2

       ORDER BY column_name2;

    关键词 AS

    ① AS把select的结果值存入table_name1的column_name1中;

    ② 如果没有创建column_name1,那么AS会自动创建一列,并采用与select查询结果相同的列名和数据类型。

    4、别名

    ① 查询里首次提到原始列名的地方后面接AS并设定别名,例如:

    CREATE TABLE table_name1

    (

    id INT(10) NOT NULL AUTO_INCREMENT PRIMARY KEY,

    column_name1 VARCHAR(30)

    )AS

    SELECT column_name2  AS cn2 FROM table_name2

    GROUP BY cn2

    ORDER BY cn2;

    ② 别名会改变查询结果(即查询结果的表)里列名的名称,但是不会改变原始表或列的名称;

    ③ 创建别名时,AS可以省略。

    二、表的连接

    1、交叉连接 CROSS JOIN,又名 笛卡尔积、交叉积

    ① 第一张表的每个值都与第二张表的每个值配对,较少适用

    ② 可用逗号代替CROSS JOIN,例如:

    SELECT table_name1.column_name1,table_name2.column_name2 FROM

    table_name1 , table_name2

    2、内连接 INNER JOIN

    SELECT column_name FROM

    table_name1 INNER JOIN table_name2 ON someconditions;

    ① INNER JOIN 利用条件里的比较运算符结合两张表;

    ② 比较运算符ON,也可以使用关键字WHERE;

    ③ 分为相等连接(EQUIJOIN)和不等连接(NON-EQUIJOIN);

    ④ 自然连接(NATURAL JOIN),在两张表的中各自有一列的列名相同时使用,一般情况下,同一数据库的ID列相同,实质和普通内连接一样;

    ⑤ 在连接中,各类关键字和函数均可使用。

    相关文章

      网友评论

          本文标题:八、连接和多张表的操作

          本文链接:https://www.haomeiwen.com/subject/kkjhzttx.html