zoukankan      html  css  js  c++  java
  • mysql查询语句进阶

    -- 内连接查询
    SELECT id,name,age,dept_name
    FROM tb_students_info INNER JOIN tb_departments
    WHERE tb_students_info.dept_id=tb_departments.dept_id;
    
    -- 左外连接查询
    SELECT name,dept_name
    FROM tb_students_info s
    LEFT OUTER JOIN tb_departments d
    ON s.dept_id = d.dept_id;
    
    -- 右外连接查询
    SELECT name,dept_name
    FROM tb_students_info s
    RIGHT OUTER JOIN tb_departments d
    ON s.dept_id = d.dept_id;
    
    -- 自连接查询
    SELECT s1.id, s1.name
    FROM tb_students_info s1,tb_students_info s2
    WHERE s1.dept_id=s2.dept_id
    AND s2.id = 1;
    
    -- IN子查询
    SELECT name FROM tb_students_info
    WHERE dept_id IN
    (SELECT dept_id
    FROM tb_departments
    WHERE dept_type= 'A' );
    
    -- 内层子查询
    SELECT dept_id
    FROM tb_departments
    WHERE dept_type='A';
    
    -- 外层子查询
    SELECT name FROM tb_students_info
    WHERE dept_id IN(1,2);
    
    -- NOT IN子查询
    SELECT name FROM tb_students_info
    WHERE dept_id NOT IN
    (SELECT dept_id
    FROM tb_departments
    WHERE dept_type='A');
    
    -- 带等号运算符的子查询
    SELECT name FROM tb_students_info
    WHERE dept_id = 
    (SELECT dept_id
    FROM tb_departments
    WHERE dept_name='Computer');
    
    -- 带不等号运算符的子查询
    SELECT name FROM tb_students_info
    WHERE dept_id <>
    (SELECT dept_id
    FROM tb_departments
    WHERE dept_name='Computer');
    
    -- EXISTS子查询
    SELECT * FROM tb_students_info
    WHERE EXISTS
    (SELECT dept_name
    FROM tb_departments
    WHERE dept_id=1);
    
    -- 分组查询与计数函数的应用
    SELECT dept_id,COUNT(*) AS total
    FROM tb_students_info
    GROUP BY dept_id;
    
    -- 分组查询
    SELECT dept_id,GROUP_CONCAT(name) AS names
    FROM tb_students_info
    GROUP BY dept_id;
    
    -- 使用HAVING关键字设置条件
    SELECT dept_id,GROUP_CONCAT(name) AS names
    FROM tb_students_info
    GROUP BY dept_id
    HAVING COUNT(name)>1;
    
    -- 查询以特定字符开头的记录
    SELECT * FROM tb_departments
    WHERE dept_name REGEXP '^C';
    
    -- 查询以特定字符串开头的记录
    SELECT * FROM tb_departments
    WHERE dept_name REGEXP '^Ch';
    
    -- 查询以特定字符结尾的记录
    SELECT * FROM tb_departments
    WHERE dept_name REGEXP 'y$';
    
    -- 查询以特定字符串结尾的记录
    SELECT * FROM tb_departments
    WHERE dept_name REGEXP 'my$';
    
    -- 用符号“.”匹配任意一个字符
    SELECT * FROM tb_departments
    WHERE dept_name REGEXP 'o.y';
    
    -- 用符号“*”匹配多个字符
    SELECT * FROM tb_departments
    WHERE dept_name REGEXP '^Ch*';
    
    -- 用符号“+”匹配多个字符
    SELECT * FROM tb_departments
    WHERE dept_name REGEXP '^Ch+';
    
    -- 匹配指定单个字符串
    SELECT * FROM tb_departments
    WHERE dept_name REGEXP 'in';
    
    -- 匹配指定多个字符串
    SELECT * FROM tb_departments
    WHERE dept_name REGEXP 'in|on';
    
    -- 匹配任意一个字母
    SELECT * FROM tb_departments
    WHERE dept_name REGEXP '[io]';
    
    -- 匹配任意一个数字
    SELECT * FROM tb_departments
    WHERE dept_call REGEXP '[123]';
    
    -- 匹配指定字符以外的字符
    SELECT * FROM tb_departments
    WHERE dept_name REGEXP '[^a-t]';
    

      

  • 相关阅读:
    P1443 马的遍历
    P1747 好奇怪的游戏
    蜀绣
    Five hundred miles
    如果没有你
    Yellow
    流星

    深入理解计算机中的 csapp,h和csapp.c
    可迭代的集合类型使用foreach语句
  • 原文地址:https://www.cnblogs.com/277223178dudu/p/11393780.html
Copyright © 2011-2022 走看看