非等值连接
创建一张表 
mysql> create table wage_grade
    -> (
    -> id int,
    -> grade char(1),
    -> low int,
    -> high int,
    -> primary key(id));
Query OK, 0 rows affected (0.00 sec)
查看表
mysql> show tables;
+-------------------+
| Tables_in_nsd2021 |
+-------------------+
| departments       |
| employees         |
| salary            |
| wage_grade        |
+-------------------+
4 rows in set (0.00 sec)
向表中插入数据
mysql> insert into wage_grade values
    -> (1,'A',5000,8000),
    -> (2,'B',8001,10000),
    -> (3,'C',10001,15000),
    -> (4,'D',15001,20000),
    -> (5,'E',20001,1000000);
Query OK, 5 rows affected (0.00 sec)
Records: 5  Duplicates: 0  Warnings: 0
查看表中数据
mysql> select
    -> *
    -> from wage_grade;
+----+-------+-------+---------+
| id | grade | low   | high    |
+----+-------+-------+---------+
|  1 | A     |  5000 |    8000 |
|  2 | B     |  8001 |   10000 |
|  3 | C     | 10001 |   15000 |
|  4 | D     | 15001 |   20000 |
|  5 | E     | 20001 | 1000000 |
+----+-------+-------+---------+
5 rows in set (0.00 sec)

查询2018年员工基本工资级别
mysql> select
    -> employee_id,date,basic,bonus,grade
    -> from salary
    -> inner join wage_grade
    -> on basic between low and high
    -> where year(date)=2018 and month(date)=12
    -> order by grade;
+-------------+------------+-------+-------+-------+
| employee_id | date       | basic | bonus | grade |
+-------------+------------+-------+-------+-------+
|          51 | 2018-12-10 |  6076 |  1000 | A     |
|          97 | 2018-12-10 |  7292 |  1000 | A     |
|         133 | 2018-12-10 |  6076 |  7000 | A     |
|          87 | 2018-12-10 |  7292 |  5000 | A     |
|         111 | 2018-12-10 |  6076 |  3000 | A     |
|          64 | 2018-12-10 |  6076 |  2000 | A     |
|          89 | 2018-12-10 |  7292 |  5000 | A     |
|          30 | 2018-12-10 |  7292 |  8000 | A     |
|          55 | 2018-12-10 |  6076 |  5000 | A     |
|          90 | 2018-12-10 |  6076 |  1000 | A     |
|         101 | 2018-12-10 |  7292 |  9000 | A     |
|         114 | 2018-12-10 |  6076 |  3000 | A     |
|          18 | 2018-12-10 |  7292 |  2000 | A     |
|          83 | 2018-12-10 |  9724 |  1000 | B     |
|         130 | 2018-12-10 |  9724 | 11000 | B     |
|          26 | 2018-12-10 |  8507 |  5000 | B     |
|         109 | 2018-12-10 |  8507 | 11000 | B     |
|           3 | 2018-12-10 |  9724 |  8000 | B     |
|         121 | 2018-12-10 |  9724 |  7000 | B     |
|          41 | 2018-12-10 |  9724 |  9000 | B     |
|          77 | 2018-12-10 |  8507 | 11000 | B     |
|          67 | 2018-12-10 |  9724 |  9000 | B     |
|          82 | 2018-12-10 |  8507 |  8000 | B     |
|         116 | 2018-12-10 |  9724 | 11000 | B     |
|          93 | 2018-12-10 |  8507 |  2000 | B     |
|          69 | 2018-12-10 | 13369 |  4000 | C     |
|          22 | 2018-12-10 | 14585 |  1000 | C     |
|          59 | 2018-12-10 | 10938 |  6000 | C     |
|          94 | 2018-12-10 | 14585 |  6000 | C     |
|         129 | 2018-12-10 | 14585 |  7000 | C     |
|          70 | 2018-12-10 | 12154 |  3000 | C     |
|          84 | 2018-12-10 | 10938 |  7000 | C     |
|          60 | 2018-12-10 | 13369 | 10000 | C     |
|          72 | 2018-12-10 | 13369 |  4000 | C     |
|          50 | 2018-12-10 | 10938 |  6000 | C     |
|          96 | 2018-12-10 | 14585 | 11000 | C     |
|         132 | 2018-12-10 | 10938 | 11000 | C     |
|          39 | 2018-12-10 | 14585 |  5000 | C     |
|         120 | 2018-12-10 | 10938 |  3000 | C     |
|          74 | 2018-12-10 | 12154 |  8000 | C     |
|          14 | 2018-12-10 | 12154 |  5000 | C     |
|          15 | 2018-12-10 | 10938 | 10000 | C     |
|          43 | 2018-12-10 | 13369 |  5000 | C     |
|          65 | 2018-12-10 | 14585 |  9000 | C     |
|         100 | 2018-12-10 | 14585 | 11000 | C     |
|          44 | 2018-12-10 | 13369 |  6000 | C     |
|          78 | 2018-12-10 | 10938 | 10000 | C     |
|         113 | 2018-12-10 | 10938 |  1000 | C     |
|         124 | 2018-12-10 | 14585 |  9000 | C     |
|          45 | 2018-12-10 | 14585 | 10000 | C     |
|         115 | 2018-12-10 | 13369 |  7000 | C     |
|         126 | 2018-12-10 | 10938 | 11000 | C     |
|           9 | 2018-12-10 | 13369 |  2000 | C     |
|          47 | 2018-12-10 | 13369 |  8000 | C     |
|          58 | 2018-12-10 | 13369 | 11000 | C     |
|         107 | 2018-12-10 | 18231 |  7000 | D     |
|          11 | 2018-12-10 | 17016 |  8000 | D     |
|          49 | 2018-12-10 | 15800 |  9000 | D     |
|          95 | 2018-12-10 | 19448 |  8000 | D     |
|           1 | 2018-12-10 | 17016 |  7000 | D     |
|         108 | 2018-12-10 | 18231 |  2000 | D     |
|          12 | 2018-12-10 | 15800 |  4000 | D     |
|          85 | 2018-12-10 | 15800 |  1000 | D     |
|          73 | 2018-12-10 | 17016 | 10000 | D     |
|          13 | 2018-12-10 | 18231 |  3000 | D     |
|          62 | 2018-12-10 | 15800 |  4000 | D     |
|         110 | 2018-12-10 | 18231 |  2000 | D     |
|          52 | 2018-12-10 | 19448 |  9000 | D     |
|          28 | 2018-12-10 | 17016 |  9000 | D     |
|          63 | 2018-12-10 | 15800 |  8000 | D     |
|          98 | 2018-12-10 | 19448 |  9000 | D     |
|           4 | 2018-12-10 | 17016 |  2000 | D     |
|          99 | 2018-12-10 | 15800 |  5000 | D     |
|           5 | 2018-12-10 | 17016 |  3000 | D     |
|         123 | 2018-12-10 | 19448 | 10000 | D     |
|           6 | 2018-12-10 | 17016 |  1000 | D     |
|          17 | 2018-12-10 | 19448 |  7000 | D     |
|          66 | 2018-12-10 | 19448 |  7000 | D     |
|          79 | 2018-12-10 | 15800 |  4000 | D     |
|         125 | 2018-12-10 | 17016 |  5000 | D     |
|          32 | 2018-12-10 | 18231 | 11000 | D     |
|          46 | 2018-12-10 | 15800 |  7000 | D     |
|          81 | 2018-12-10 | 17016 |  3000 | D     |
|          20 | 2018-12-10 | 19448 |  3000 | D     |
|          92 | 2018-12-10 | 19448 |  2000 | D     |
|          21 | 2018-12-10 | 18231 | 11000 | D     |
|         127 | 2018-12-10 | 17016 |  6000 | D     |
|          34 | 2018-12-10 | 23093 |  1000 | E     |
|         106 | 2018-12-10 | 23093 |  5000 | E     |
|          10 | 2018-12-10 | 21878 |  8000 | E     |
|          48 | 2018-12-10 | 25524 |  1000 | E     |
|         117 | 2018-12-10 | 25524 | 11000 | E     |
|          37 | 2018-12-10 | 24309 |  4000 | E     |
|         118 | 2018-12-10 | 23093 |  3000 | E     |
|          25 | 2018-12-10 | 23093 |  3000 | E     |
|          38 | 2018-12-10 | 23093 |  3000 | E     |
|         119 | 2018-12-10 | 23093 | 10000 | E     |
|          61 | 2018-12-10 | 24309 |  3000 | E     |
|           2 | 2018-12-10 | 20662 |  9000 | E     |
|          86 | 2018-12-10 | 24309 |  4000 | E     |
|          27 | 2018-12-10 | 24309 |  5000 | E     |
|          40 | 2018-12-10 | 20662 |  2000 | E     |
|          76 | 2018-12-10 | 20662 | 11000 | E     |
|          53 | 2018-12-10 | 25524 |  8000 | E     |
|          88 | 2018-12-10 | 20662 |  2000 | E     |
|         122 | 2018-12-10 | 21878 |  2000 | E     |
|          29 | 2018-12-10 | 23093 |  1000 | E     |
|         112 | 2018-12-10 | 24309 |  9000 | E     |
|          16 | 2018-12-10 | 21878 |  8000 | E     |
|          54 | 2018-12-10 | 21878 |  9000 | E     |
|          31 | 2018-12-10 | 25524 |  9000 | E     |
|           7 | 2018-12-10 | 23093 |  4000 | E     |
|          56 | 2018-12-10 | 23093 |  3000 | E     |
|          91 | 2018-12-10 | 20662 | 11000 | E     |
|         102 | 2018-12-10 | 23093 |  3000 | E     |
|           8 | 2018-12-10 | 23093 |  2000 | E     |
|          57 | 2018-12-10 | 23093 |  3000 | E     |
|          33 | 2018-12-10 | 23093 |  6000 | E     |
|          68 | 2018-12-10 | 25524 |  9000 | E     |
|         105 | 2018-12-10 | 21878 |  8000 | E     |
+-------------+------------+-------+-------+-------+
120 rows in set (0.03 sec)
查询2018年员工基本工资各级别的人数
mysql> select                                                                      
    -> grade,count(*)
    -> from salary
    -> inner join wage_grade
    -> on basic between low and high
    -> where year(date)=2018 and month(date)=12
    -> group by grade;
+-------+----------+
| grade | count(*) |
+-------+----------+
| A     |       13 |
| B     |       12 |
| C     |       30 |
| D     |       32 |
| E     |       33 |
+-------+----------+
5 rows in set (0.01 sec)
查询2018年员工基本工资级别工资姓名
mysql> select
    -> s.employee_id,name,date,basic,bonus,grade
    -> from salary as s
    -> inner join wage_grade
    -> on basic between low and high
    -> inner join employees as e
    -> on e.employee_id=s.employee_id
    -> where year(date)=2018 and month(date)=12
    -> order by grade;
+-------------+-----------+------------+-------+-------+-------+
| employee_id | name      | date       | basic | bonus | grade |
+-------------+-----------+------------+-------+-------+-------+
|          51 | 吴静      | 2018-12-10 |  6076 |  1000 | A     |
|          55 | 梁静      | 2018-12-10 |  6076 |  5000 | A     |
|          90 | 莫凤兰    | 2018-12-10 |  6076 |  1000 | A     |
|          18 | 戴璐      | 2018-12-10 |  7292 |  2000 | A     |
|          64 | 徐金凤    | 2018-12-10 |  6076 |  2000 | A     |
|          87 | 田萍      | 2018-12-10 |  7292 |  5000 | A     |
|          30 | 邢淑兰    | 2018-12-10 |  7292 |  8000 | A     |
|         114 | 黄秀云    | 2018-12-10 |  6076 |  3000 | A     |
|          89 | 唐芳      | 2018-12-10 |  7292 |  5000 | A     |
|          97 | 崔志强    | 2018-12-10 |  7292 |  1000 | A     |
|         101 | 李柳      | 2018-12-10 |  7292 |  9000 | A     |
|         111 | 赵凤兰    | 2018-12-10 |  6076 |  3000 | A     |
|         133 | 杨金凤    | 2018-12-10 |  6076 |  7000 | A     |
|          67 | 潘玲      | 2018-12-10 |  9724 |  9000 | B     |
|          77 | 吴丽娟    | 2018-12-10 |  8507 | 11000 | B     |
|          82 | 韩丹      | 2018-12-10 |  8507 |  8000 | B     |
|         116 | 贾荣      | 2018-12-10 |  9724 | 11000 | B     |
|          83 | 蒋秀芳    | 2018-12-10 |  9724 |  1000 | B     |
|         109 | 巫杨      | 2018-12-10 |  8507 | 11000 | B     |
|         121 | 孙婷      | 2018-12-10 |  9724 |  7000 | B     |
|         130 | 王玉兰    | 2018-12-10 |  9724 | 11000 | B     |
|           3 | 李玉英    | 2018-12-10 |  9724 |  8000 | B     |
|          26 | 党丽      | 2018-12-10 |  8507 |  5000 | B     |
|          41 | 陈玉      | 2018-12-10 |  9724 |  9000 | B     |
|          93 | 余春梅    | 2018-12-10 |  8507 |  2000 | B     |
|           9 | 张建平    | 2018-12-10 | 13369 |  2000 | C     |
|          22 | 吕刚      | 2018-12-10 | 14585 |  1000 | C     |
|          43 | 王波      | 2018-12-10 | 13369 |  5000 | C     |
|          47 | 黄建平    | 2018-12-10 | 13369 |  8000 | C     |
|          59 | 钟倩      | 2018-12-10 | 10938 |  6000 | C     |
|          72 | 赵杰      | 2018-12-10 | 13369 |  4000 | C     |
|          94 | 熊东      | 2018-12-10 | 14585 |  6000 | C     |
|         120 | 段杨      | 2018-12-10 | 10938 |  3000 | C     |
|         124 | 李慧      | 2018-12-10 | 14585 |  9000 | C     |
|         129 | 汤华      | 2018-12-10 | 14585 |  7000 | C     |
|          14 | 廖娜      | 2018-12-10 | 12154 |  5000 | C     |
|          39 | 张倩      | 2018-12-10 | 14585 |  5000 | C     |
|          44 | 黄文      | 2018-12-10 | 13369 |  6000 | C     |
|          60 | 贺磊      | 2018-12-10 | 13369 | 10000 | C     |
|          78 | 张娜      | 2018-12-10 | 10938 | 10000 | C     |
|         113 | 杨桂香    | 2018-12-10 | 10938 |  1000 | C     |
|          15 | 窦红梅    | 2018-12-10 | 10938 | 10000 | C     |
|          45 | 陈刚      | 2018-12-10 | 14585 | 10000 | C     |
|          65 | 张淑英    | 2018-12-10 | 14585 |  9000 | C     |
|          69 | 谢莹      | 2018-12-10 | 13369 |  4000 | C     |
|          74 | 赵成      | 2018-12-10 | 12154 |  8000 | C     |
|          84 | 朱文      | 2018-12-10 | 10938 |  7000 | C     |
|          96 | 胡瑜      | 2018-12-10 | 14585 | 11000 | C     |
|         100 | 马涛      | 2018-12-10 | 14585 | 11000 | C     |
|         126 | 谢琴      | 2018-12-10 | 10938 | 11000 | C     |
|         132 | 刘倩      | 2018-12-10 | 10938 | 11000 | C     |
|          50 | 臧龙      | 2018-12-10 | 10938 |  6000 | C     |
|          58 | 张伟      | 2018-12-10 | 13369 | 11000 | C     |
|          70 | 傅雪      | 2018-12-10 | 12154 |  3000 | C     |
|         115 | 陈建军    | 2018-12-10 | 13369 |  7000 | C     |
|           1 | 梁伟      | 2018-12-10 | 17016 |  7000 | D     |
|           5 | 郑静      | 2018-12-10 | 17016 |  3000 | D     |
|          13 | 王楠      | 2018-12-10 | 18231 |  3000 | D     |
|          17 | 陈阳      | 2018-12-10 | 19448 |  7000 | D     |
|          28 | 郑秀珍    | 2018-12-10 | 17016 |  9000 | D     |
|          32 | 冯建国    | 2018-12-10 | 18231 | 11000 | D     |
|          63 | 王玉华    | 2018-12-10 | 15800 |  8000 | D     |
|          98 | 李莹      | 2018-12-10 | 19448 |  9000 | D     |
|         108 | 宋艳      | 2018-12-10 | 18231 |  2000 | D     |
|           6 | 牛建军    | 2018-12-10 | 17016 |  1000 | D     |
|          52 | 张冬梅    | 2018-12-10 | 19448 |  9000 | D     |
|          73 | 王璐      | 2018-12-10 | 17016 | 10000 | D     |
|          95 | 毛丹      | 2018-12-10 | 19448 |  8000 | D     |
|          99 | 王畅      | 2018-12-10 | 15800 |  5000 | D     |
|         125 | 李静      | 2018-12-10 | 17016 |  5000 | D     |
|          11 | 郭兰英    | 2018-12-10 | 17016 |  8000 | D     |
|          20 | 蒋红      | 2018-12-10 | 19448 |  3000 | D     |
|          49 | 李平      | 2018-12-10 | 15800 |  9000 | D     |
|          79 | 叶欣      | 2018-12-10 | 15800 |  4000 | D     |
|          92 | 陶红      | 2018-12-10 | 19448 |  2000 | D     |
|         110 | 萧秀华    | 2018-12-10 | 18231 |  2000 | D     |
|           4 | 张健      | 2018-12-10 | 17016 |  2000 | D     |
|          12 | 王英      | 2018-12-10 | 15800 |  4000 | D     |
|          21 | 曹宁      | 2018-12-10 | 18231 | 11000 | D     |
|          46 | 罗建华    | 2018-12-10 | 15800 |  7000 | D     |
|          62 | 林刚      | 2018-12-10 | 15800 |  4000 | D     |
|          66 | 罗岩      | 2018-12-10 | 19448 |  7000 | D     |
|          81 | 徐成      | 2018-12-10 | 17016 |  3000 | D     |
|          85 | 刘玲      | 2018-12-10 | 15800 |  1000 | D     |
|         107 | 游静      | 2018-12-10 | 18231 |  7000 | D     |
|         123 | 许欣      | 2018-12-10 | 19448 | 10000 | D     |
|         127 | 李瑞      | 2018-12-10 | 17016 |  6000 | D     |
|          38 | 曹凯      | 2018-12-10 | 23093 |  3000 | E     |
|          86 | 张宇      | 2018-12-10 | 24309 |  4000 | E     |
|         102 | 张亮      | 2018-12-10 | 23093 |  3000 | E     |
|         112 | 田兰英    | 2018-12-10 | 24309 |  9000 | E     |
|           2 | 郭岩      | 2018-12-10 | 20662 |  9000 | E     |
|          10 | 郭娟      | 2018-12-10 | 21878 |  8000 | E     |
|          25 | 邵佳      | 2018-12-10 | 23093 |  3000 | E     |
|          29 | 胡秀云    | 2018-12-10 | 23093 |  1000 | E     |
|          33 | 曹杰      | 2018-12-10 | 23093 |  6000 | E     |
|          48 | 范秀英    | 2018-12-10 | 25524 |  1000 | E     |
|          56 | 陈洁      | 2018-12-10 | 23093 |  3000 | E     |
|          68 | 柴冬梅    | 2018-12-10 | 25524 |  9000 | E     |
|          91 | 李建华    | 2018-12-10 | 20662 | 11000 | E     |
|         105 | 王小红    | 2018-12-10 | 21878 |  8000 | E     |
|         117 | 和林      | 2018-12-10 | 25524 | 11000 | E     |
|           7 | 刘斌      | 2018-12-10 | 23093 |  4000 | E     |
|          34 | 苗桂花    | 2018-12-10 | 23093 |  1000 | E     |
|          40 | 王淑珍    | 2018-12-10 | 20662 |  2000 | E     |
|          53 | 邢成      | 2018-12-10 | 25524 |  8000 | E     |
|          57 | 许辉      | 2018-12-10 | 23093 |  3000 | E     |
|          61 | 沈秀梅    | 2018-12-10 | 24309 |  3000 | E     |
|          88 | 田英      | 2018-12-10 | 20662 |  2000 | E     |
|         106 | 苏波      | 2018-12-10 | 23093 |  5000 | E     |
|         118 | 宋慧      | 2018-12-10 | 23093 |  3000 | E     |
|         122 | 区军      | 2018-12-10 | 21878 |  2000 | E     |
|           8 | 汪云      | 2018-12-10 | 23093 |  2000 | E     |
|          16 | 聂想      | 2018-12-10 | 21878 |  8000 | E     |
|          27 | 梁勇      | 2018-12-10 | 24309 |  5000 | E     |
|          31 | 刘海燕    | 2018-12-10 | 25524 |  9000 | E     |
|          37 | 朱淑兰    | 2018-12-10 | 24309 |  4000 | E     |
|          54 | 孙丹      | 2018-12-10 | 21878 |  9000 | E     |
|          76 | 刘桂兰    | 2018-12-10 | 20662 | 11000 | E     |
|         119 | 张梅      | 2018-12-10 | 23093 | 10000 | E     |
+-------------+-----------+------------+-------+-------+-------+
120 rows in set (0.01 sec)

查询生日与入职月份相同的员工
mysql> select
    -> e.name,e.birth_date,em.hire_date
    -> from employees as e
    -> inner join employees as em
    -> on month(e.birth_date)=month(em.hire_date)
    -> and e.employee_id=em.employee_id;
+-----------+------------+------------+
| name      | birth_date | hire_date  |
+-----------+------------+------------+
| 李玉英    | 1974-01-25 | 2012-01-19 |
| 郑静      | 1997-02-14 | 2018-02-03 |
| 林刚      | 1990-09-23 | 2007-09-19 |
| 刘桂兰    | 1982-10-11 | 2003-10-14 |
| 张亮      | 1996-08-25 | 2015-08-10 |
| 许欣      | 1982-09-25 | 2011-09-09 |
| 王荣      | 1999-11-22 | 2019-11-14 |
+-----------+------------+------------+
7 rows in set (0.00 sec)

外连接
left join左连接,左边是主表
mysql> select
    -> d.dept_id,dept_name,name
    -> from departments as d
    -> left outer join employees as e
    -> on d.dept_id=e.dept_id;
+---------+-----------+-----------+
| dept_id | dept_name | name      |
+---------+-----------+-----------+
|       1 | 人事部    | 梁伟      |
。。。。。。。。。。。
|       8 | 法务部    | 杨金凤    |
|       9 | NULL      | NULL      |
+---------+-----------+-----------+
134 rows in set (0.00 sec)
right join右连接,右边是主表
mysql> select d.dept_id,dept_name,name
    -> from departments as d
    -> right outer join employees as e
    -> on d.dept_id=e.dept_id;
+---------+-----------+-----------+
| dept_id | dept_name | name      |
+---------+-----------+-----------+
|       1 | 人事部    | 梁伟      |
。。。。。。。。。。。
|       8 | 法务部    | 杨金凤    |
+---------+-----------+-----------+
133 rows in set (0.00 sec)

子查询
select之后:仅支持单行单列
from之后:支持多行多列
where或having之后:支持单行单列、单行多列、多行单列

查询运维部所有员工信息
mysql> select *from employees where dept_id=(
              select dept_id from departments where dept_name='运维部');
+-------------+-----------+------------+------------+--------------------+--------------+---------+
| employee_id | name      | hire_date  | birth_date | email              | phone_number | dept_id |
+-------------+-----------+------------+------------+--------------------+--------------+---------+
|          14 | 廖娜      | 2012-05-20 | 1982-06-22 | liaona@tarena.com  | 15827928192  |       3 |
|          15 | 窦红梅    | 2018-03-16 | 1971-09-09 | douhongmei@tedu.cn | 15004739483  |       3 |
|          16 | 聂想      | 2018-09-09 | 1999-06-05 | niexiang@tedu.cn   | 15501892446  |       3 |
|          17 | 陈阳      | 2004-09-16 | 1991-04-10 | chenyang@tedu.cn   | 15565662056  |       3 |
|          18 | 戴璐      | 2001-11-30 | 1975-05-16 | dailu@tedu.cn      | 13465236095  |       3 |
|          19 | 陈斌      | 2019-07-04 | 2000-01-22 | chenbin@tarena.com | 13621656037  |       3 |
+-------------+-----------+------------+------------+--------------------+--------------+---------+
6 rows in set (0.00 sec)
查询2018年比100号员工工资高的工资信息
mysql> select *from salary
    -> where year(date)=2018 and month(date)=12 and basic>(select basic from salary where year(date)=2018 and month(date)=12 and employee_id=100);
查询比开发部人数少的部门
1,查询开发部编号
select dept_id from departments where dept_name='开发部';
2,查询开发部人数
select count(*) from employees where dept_id=4;
3,查询各部门人数
select dept_id,count(*) from employees
group by dept_id;
4,查询人数比55 少的部门
select dept_id,count(*) from employees
group by dept_id
having count(*)<55;

select dept_id,count(*) from employees
group by dept_id
having count(*)<(
  select count(*) from employees where dept_id=4 (
         select dept_id from departments where dept_name='开发部'
)
);

查询每个部门人数
mysql> select d.*,(select count(*) from employees as e where d.dept_id=e.dept_id) as amount from departments as d;
+---------+-----------+--------+
| dept_id | dept_name | amount |
+---------+-----------+--------+
|       1 | 人事部    |      8 |
|       2 | 财务部    |      5 |
|       3 | 运维部    |      6 |
|       4 | 开发部    |     55 |
|       5 | 测试部    |     12 |
|       6 | 市场部    |      9 |
|       7 | 销售部    |     35 |
|       8 | 法务部    |      3 |
|       9 | NULL      |      0 |
+---------+-----------+--------+
9 rows in set (0.00 sec)
分页查询LIMIT
mysql> select employee_id,name from employees
    -> order by employee_id
    -> limit 0,5;
+-------------+-----------+
| employee_id | name      |
+-------------+-----------+
|           1 | 梁伟      |
|           2 | 郭岩      |
|           3 | 李玉英    |
|           4 | 张健      |
|           5 | 郑静      |
+-------------+-----------+
5 rows in set (0.00 sec)
mysql> select employee_id,name from employees order by employee_id limit 5,5;
+-------------+-----------+
| employee_id | name      |
+-------------+-----------+
|           6 | 牛建军    |
|           7 | 刘斌      |
|           8 | 汪云      |
|           9 | 张建平    |
|          10 | 郭娟      |
+-------------+-----------+
5 rows in set (0.00 sec)
联合查询UNION
mysql> (
    -> select name, birth_date from employees
    ->   where year(birth_date)<1972
    -> )
    -> union
    -> (
    ->   select name, birth_date from employees
    ->   where year(birth_date)>2000
    -> );
+-----------+------------+
| name      | birth_date |
+-----------+------------+
| 梁伟      | 1971-08-19 |
| 张建平    | 1971-11-02 |
| 窦红梅    | 1971-09-09 |
| 温兰英    | 1971-08-14 |
| 朱文      | 1971-08-15 |
| 和林      | 1971-12-10 |
+-----------+------------+
6 rows in set (0.00 sec)

查询-非等值连接,外连接,子查询相关推荐

  1. 非等值连接,外连接,自连接,子查询

    非等值连接,外连接,自连接,子查询 非等值连接: select empno,ename,sal,grade from emp,salgrade where sal between salgrade.l ...

  2. Oracle入门--水表项目(单表查询,链接查询,左右外连接,子查询,分页查询)(3)

    水表项目建表 1.1.1 分析 1.1.2 SQL实现 表结构 -- <自来水公司收费系统> -- 1 业主类型表 create table t_ownertype(id number p ...

  3. mySQL学习记录(局域网连接/基础查询/条件查询/常见函数/窗口函数/表连接/子查询/插修删建表)

    一些基础概念 DB 数据库 存储数据的容器 DBMS 数据库管理系统 又称数据库软件.产品如mysql/oracle/db2/sqlserver SQL 结构化查询语言 是所有的DBMS都使用的一种D ...

  4. oracle 外键子查询,外键、联合查询、子查询

    1.外键: 增加外键 创建表的时候增加外键:在所有的表字段之后,使用foreign key(外键字段) references 外部表(主键字段) 在新增表之后增加外键:修改表结构,使用alter ta ...

  5. 三、MySQL子查询学习笔记(标量子查询、列子查询、行子查询、表子查询 详解)

    三.MySQL子查询学习笔记 7:子查询 含义: 一条查询语句中又嵌套了另一条完整的select语句,其中被嵌套的select语句,称为子查询或内查询:在外面的查询语句,称为主查询或外查询 分类: 一 ...

  6. eclipse列名无效_【转】sql使用In语句查询出所有,但子查询列名无效

    本文转自http://www.ddvip.com/tech/100019101.html 原文题目:关于sql语句in的使用注意规则 今天使用sql时候发现一个问题,使用IN查询时,查出主表所有的数据 ...

  7. mysql子查询字符串位置_MySql基础-子查询

    一.子查询定义 定义: 子查询允许把一个查询嵌套在另一个查询当中. 子查询用()括起来 子查询,又叫内部查询,相对于内部查询,包含内部查询的就称为外部查询. 子查询可以包含普通select可以包括的任 ...

  8. 查询子串_SQL视图、子查询和常见函数的应用

    一.视图 含义:虚拟表,和普通表一样使用,通过表动态生成的数据. 创建语法的关键字 是否实际占用物理空间 使用 视图 CREATE VIEW 没有(只保存了SQL逻辑) 增删改查,一般不能增删改 表 ...

  9. mysql+sql+子查询语句_SQL语句:子查询

    一,子查询简介: 子查询就是嵌套在主查询中的查询. 子查询可以嵌套在主查询中所有位置,包括SELECT.FROM.WHERE.ORDER BY.但并不是每个位置嵌套子查询都是有意义并实用的. 子查询必 ...

  10. 子查询及其分类(标量子查询+列子查询+行子查询+表子查询)

    子查询 什么是子查询 子查询概念 子查询:sub query 子查询是一种常用计算机语言SELECT-SQL语言中嵌套查询下层的程序模块.当一个查询是另一个查询的条件时,称之为子查询. 子查询:指在一 ...

最新文章

  1. php 文件上传系统,php需登录文件上传管理系统
  2. struts2总体介绍
  3. 14行代码AC_Zero Array(思维)
  4. table-layout:fixed; 表格比例固定
  5. 唐宇迪python课程数据百度云_【推荐下载】2017最新唐宇迪 Python数据分析与机器学习实战视频教程...
  6. 习题7-3 判断上三角矩阵
  7. layui树形美化_使用layui-tree美化左侧菜单,点击生成tab选项
  8. 苹果屏蔽更新描述文件_iOS 屏蔽系统更新描述文件更新!快把烦人的系统更新提示关掉...
  9. Padavan各源码融合教程
  10. linux 追加多行文件,linux每行追加内容
  11. Show, Attend, and Tell | a PyTorch Tutorial to Image Captioning代码调试(跑通)
  12. 精心整理的MYSQL面试题
  13. 三次B样条插值和误差分析
  14. 什么是自动出价?它的优势是什么?
  15. 词云python_词-经典诗词宋词语大全
  16. 光纤耦合透镜的设计与公差分析
  17. Libevent库的简介
  18. 简述CMM与CMMI的关系
  19. Vue 服务端渲染 预渲染
  20. 博客园积分与排名升级攻略 //转

热门文章

  1. 海淀朝阳房山二手房价格反弹明显 短期内仍将持续
  2. cad卸载_CAD卸载后为什么安装不了?解决方法原来是这样!
  3. 问题PermissionError [Errno 13] Permission denied解决方法
  4. C语言中指数的表现,中证500指数基金C份额汇总比较
  5. Camera ISP
  6. IDA遇到mojava,crash的情况
  7. java工程师认证_Java工程师认证工信部考试.doc
  8. java地铁最短距离_地铁线路最短路径(项目实现)
  9. Airprint across subnets(2)
  10. 西电c1级计算机应用测试题型,西电计算机应用基础测试题