mysql/mariadb學習記錄——串連查詢

來源:互聯網
上載者:User

標籤:sel   山寨   學習   --   模糊查詢   謂詞   學生   har   ike   

串連查詢:同時設計兩個及以上的表的查詢串連條件或串連謂詞:用來串連兩個表的條件一般格式:

[<表名1>]<列名1> <比較子> [<表名2>]<列名2>

[<表名1>]<列名1> between [<表名2>]<列名2> and [<表名2>]<列名3>

等值串連:

串連運算子為=

查詢每個學生以及選修課程的情況

mysql> select student.*, sc.* from student,sc where student.sno=sc.sno;+-------+--------+------+------+-------+-------+-----+-------+| sno   | sname  | ssex | sage | sdept | sno   | cno | grade |+-------+--------+------+------+-------+-------+-----+-------+| 95001 | 李勇    | 男   |   20 | CS    | 95001 | 1   |    92 || 95001 | 李勇    | 男   |   20 | CS    | 95001 | 2   |    85 || 95001 | 李勇    | 男   |   20 | CS    | 95001 | 3   |    88 || 95002 | 劉晨    | 女   |   19 | IS    | 95002 | 2   |    90 || 95002 | 劉晨    | 女   |   19 | IS    | 95002 | 3   |    80 || 95004 | 張立    | 男   |   20 | IS    | 95004 | 2   |    65 || 95004 | 張立    | 男   |   20 | IS    | 95004 | 3   |  NULL || 95004 | 張立    | 男   |   20 | IS    | 95004 | 4   |  NULL || 95005 | 張三    | 男   |   23 | CS    | 95005 | 2   |    84 || 95005 | 張三    | 男   |   23 | CS    | 95005 | 4   |  NULL || 96001 | 劉軍    | 男   |   30 | IS    | 96001 | 1   |    87 || 96001 | 劉軍    | 男   |   30 | IS    | 96001 | 2   |    80 || 96001 | 劉軍    | 男   |   30 | IS    | 96001 | 3   |    90 || 96001 | 劉軍    | 男   |   30 | IS    | 96001 | 4   |    95 || 96001 | 劉軍    | 男   |   30 | IS    | 96001 | 5   |  NULL || 96001 | 劉軍    | 男   |   30 | IS    | 96001 | 6   |  NULL || 96001 | 劉軍    | 男   |   30 | IS    | 96001 | 7   |    86 || 97001 | 李四    | 男   |   26 | EN    | 97001 | 4   |  NULL || 97001 | 李四    | 男   |   26 | EN    | 97001 | 5   |  NULL |+-------+--------+------+------+-------+-------+-----+-------+
排序:

select [ ] from <表名> order by <列名> [desc/asc];

mysql> select sno,sname from student order by sno; //預設為升序+-------+--------+| sno   | sname  |+-------+--------+| 12001 | bgg    || 94001 | 山寨   || 95001 | 李勇   || 95002 | 劉晨   || 95003 | 王敏   || 95004 | 張立   || 95005 | 張三   || 96001 | 劉軍   || 96004 | 芙蓉   || 97001 | 李四   |+-------+--------+mysql> select sno,sname from student order by sno asc; //asc 修飾為升序+-------+--------+| sno   | sname  |+-------+--------+| 12001 | bgg    || 94001 | 山寨   || 95001 | 李勇   || 95002 | 劉晨   || 95003 | 王敏   || 95004 | 張立   || 95005 | 張三   || 96001 | 劉軍   || 96004 | 芙蓉   || 97001 | 李四   |+-------+--------+10 rows in set (0.05 sec)mysql> select sno,sname from student order by sno desc; //desc 修飾為降序+-------+--------+| sno   | sname  |+-------+--------+| 97001 | 李四   || 96004 | 芙蓉   || 96001 | 劉軍   || 95005 | 張三   || 95004 | 張立   || 95003 | 王敏   || 95002 | 劉晨   || 95001 | 李勇   || 94001 | 山寨   || 12001 | bgg    |+-------+--------+

mysql> select sno,sname from student order by sno desc,sname asc; //先按sno降序 再按sname升序
+-------+--------+
| sno   | sname  |
+-------+--------+
| 97001 | 李四    |
| 96004 | 芙蓉    |
| 96001 | 劉軍    |
| 95005 | 張三    |
| 95004 | 張立    |
| 95003 | 王敏    |
| 95002 | 劉晨    |
| 95001 | 李勇    |
| 94001 | 山寨    |
| 12001 | bgg    |
+-------+--------+
10 rows in set (0.05 sec)

 

選擇的between操作(在mysql/mariadb中是閉區間):

select * from <表名>  where <列名> between ‘a‘ and ‘b‘;

mysql> select * from student where sno between ‘94001‘ and ‘96001‘;+-------+--------+------+------+-------+| sno   | sname  | ssex | sage | sdept |+-------+--------+------+------+-------+| 94001 | 山寨   | 男   |   29 | CS    || 95001 | 李勇   | 男   |   20 | CS    || 95002 | 劉晨   | 女   |   19 | IS    || 95003 | 王敏   | 女   |   19 | MA    || 95004 | 張立   | 男   |   20 | IS    || 95005 | 張三   | 男   |   23 | CS    || 96001 | 劉軍   | 男   |   30 | IS    |+-------+--------+------+------+-------+

//not between and

mysql> select * from student where sno not between ‘94001‘ and ‘96001‘;
+-------+--------+------+------+-------+
| sno   | sname  | ssex | sage | sdept |
+-------+--------+------+------+-------+
| 12001 | bgg    | M    | 26   | CS    |
| 96004 | 芙蓉    | 女   | 32   | CH    |
| 97001 | 李四    | 男   | 26   | EN    |
+-------+--------+------+------+-------+

mysql模糊查詢:

% 替代一個或多個字元;

_ 僅替代一個字元;

[charlist] 字元列中的任何單一字元;

[!charlist] 或 [^charlist] 不在字元列中的任何單一字元; 

//查詢sno以95開頭的學生資訊mysql> select * from student where sno like ‘95%‘;+-------+--------+------+------+-------+| sno   | sname  | ssex | sage | sdept |+-------+--------+------+------+-------+| 95001 | 李勇   | 男   |   20 | CS    || 95002 | 劉晨   | 女   |   19 | IS    || 95003 | 王敏   | 女   |   19 | MA    || 95004 | 張立   | 男   |   20 | IS    || 95005 | 張三   | 男   |   23 | CS    |+-------+--------+------+------+-------+5 rows in set (0.05 sec)//查詢sno以01結尾的學生資訊mysql> select * from student where sno like ‘%01‘;+-------+--------+------+------+-------+| sno   | sname  | ssex | sage | sdept |+-------+--------+------+------+-------+| 12001 | bgg    | M    |   26 | CS    || 94001 | 山寨   | 男   |   29 | CS    || 95001 | 李勇   | 男   |   20 | CS    || 96001 | 劉軍   | 男   |   30 | IS    || 97001 | 李四   | 男   |   26 | EN    |+-------+--------+------+------+-------+5 rows in set (0.05 sec)

2018-05-01  20:24:33

mysql/mariadb學習記錄——串連查詢

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.