相关文章推荐
绅士的花卷  ·  windows下安装gmp库+Dev ...·  1 年前    · 
痛苦的领带  ·  getUserMedia ...·  1 年前    · 

笛卡尔积连接就是实现跨表查询的一种方式。

select article.id as id,article.title as title,article.state as state,article_cate.title as cate from article,article_cate where article.cate_id=article_cate.id

二、内连接

项目中使用比较多的是内连接来进行跨表查询。内连接主要是加入了INNER JOIN和ON两个关键字。

select article.id as id,article.title as title,article.state as state,article_cate.title as cate from article INNER JOIN article_cate on article.cate_id = article_cate.id; 

其他方法:使用IN来进行查询,例如:张三选修的课程id对应的课程名称是什么,我们首先看下数据表的结构:

  • lesson表
  • student表
  • lesson_student表
  • 查询张三选修的课程的名称

    select * from lesson where id in (select lessonId from lesson_student where studentId=1);
    

    查询哪些学生选修了Java程序设计

    select * from student where id in (select studentId from lesson_student where lessonId=2);
    

    三、MySQL索引

    当查询海量数据的时候,通过索引可以增加查询的效率,极大的降低查找的时间。

    给name创建索引名为index_name。

    create index index_name on student(name);  
    
    show index from student;
    
    drop index index_name on student;
    
  • 创建唯一索引
  • create unique index index_name on student(name);
    

    我们也可以通Navicat等可视化工具来设置索引,通过右键选择某个数据表,选择设计表,然后添加索引。

    image.png

    分类:
    后端
  •