mysql 命令3

 //模糊查詢     

 mysql> select * from mingjue where name like '小%';

+----+--------+------+----------+
| id | name   | age  | salary   |
+----+--------+------+----------+
|  7 | 小白龍 |   12 | 10000.09 |
|  8 | 小黑龍 |   12 | 10000.09 |
|  9 | 小黃龍 |   12 | 10000.09 |
| 10 | 小神龍 |   12 | 10000.09 |
| 11 | 小甜甜 |   12 | 10000.09 |
+----+--------+------+----------+

//模糊查詢 加限制個數      LIMIT x,x 兩個參數 表示從第幾個之後取幾個。

mysql> select * from mingjue where name like '小%' LIMIT 2;
+----+--------+------+----------+
| id | name   | age  | salary   |
+----+--------+------+----------+
|  7 | 小白龍 |   12 | 10000.09 |
|  8 | 小黑龍 |   12 | 10000.09 |
+----+--------+------+----------+

//根據name排序

mysql> SELECT * FROM mingjue where name like '%龍%' ORDER BY NAME;
+----+--------+------+----------+
| id | name   | age  | salary   |
+----+--------+------+----------+
|  7 | 小白龍 |   12 | 10000.09 |
| 10 | 小神龍 |   12 | 10000.09 |
|  9 | 小黃龍 |   12 | 10000.09 |
|  8 | 小黑龍 |   12 | 10000.09 |
|  5 | 白龍馬 |    5 |  7000.19 |
+----+--------+------+----------+

MySQL的聚合函數

 

----只能有一個結果
    1.max(列名)
      計算某列的最大值


    2.min(列名)
      計算某列的最小值


    3.avg(列名)
      計算某列的平均值
     SELECT avg(salary) from mingjue;

    4.sum(列名)
      計算某列的總和


    5.count(*)與count(列名)
      計算記錄總數或某列的記錄數量。
      count(*)查詢所有記錄總數,無論是否爲null。
      count(列名)只查詢指定列中不爲null的記錄總數。
 
6.四捨五入  round(zhi,num);

       //子查詢

      SELECT name from mingjue where salary>(SELECT round(avg(salary),2) from mingjue);

    笛卡爾積
    select * from mingjue,yaoguai;

   mysql> select * from emp;
+----+------+------+
| id | name | dept |
+----+------+------+
|  1 | 三豐 |    1 |
|  2 | 無忌 |    2 |
|  3 | 芷若 |    2 |
|  4 | 滅絕 | NULL |
+----+------+------+
4 rows in set (0.00 sec)


mysql> select * from dept;
+----+------+
| id | name |
+----+------+
|  1 | 武當 |
|  2 | 明教 |
|  3 | 少林 |
+----+------+
3 rows in set (0.00 sec)


mysql> select * from emp,dept;
+----+------+------+----+------+
| id | name | dept | id | name |
+----+------+------+----+------+
|  1 | 三豐 |    1 |  1 | 武當 |
|  1 | 三豐 |    1 |  2 | 明教 |
|  1 | 三豐 |    1 |  3 | 少林 |
|  2 | 無忌 |    2 |  1 | 武當 |
|  2 | 無忌 |    2 |  2 | 明教 |
|  2 | 無忌 |    2 |  3 | 少林 |
|  3 | 芷若 |    2 |  1 | 武當 |
|  3 | 芷若 |    2 |  2 | 明教 |
|  3 | 芷若 |    2 |  3 | 少林 |
|  4 | 滅絕 | NULL |  1 | 武當 |
|  4 | 滅絕 | NULL |  2 | 明教 |
|  4 | 滅絕 | NULL |  3 | 少林 |
+----+------+------+----+------+
12 rows in set (0.00 sec)

//多表查詢;

mysql> select emp.name,dept.name from emp,dept where emp.dept=dept.id;
+------+------+
| name | name |
+------+------+
| 三豐 | 武當 |
| 無忌 | 明教 |
| 芷若 | 明教 |
+------+------+

//內聯 inner join;

mysql> select emp.name,dept.name from emp inner join dept on emp.dept=dept.id;
+------+------+
| name | name |
+------+------+
| 三豐 | 武當 |
| 無忌 | 明教 |
| 芷若 | 明教 |
+------+------+

  3.外連接
      A:左外連接(left outer join 或 left join)
         查詢出的結果除了包含符合連接條件的記錄以外,還包含左表中剩餘的其他記錄。
         select 表1.列...,表2.列  from 表1 left join 表2 on 連接條件


         eg: select stuinfo.name,subject.subjectname from stuinfo left join subject on
             stuinfo.subjectid=subject.id;


     B:  右外連接(right outer join 或 right join)
         查詢出的結果除了包含符合連接條件的記錄以外,還包含右表中剩餘的其他記錄。
         select 表1.列...,表2.列  from 表1 right join 表2 on 連接條件

   字符函數
CONCAT(str1,str2)----連接兩個字符串的內容
CONCAT_WS("連接符",str1,str2)---使用連接符來連接字串內容
UPPER(STR) ---將字串轉成大寫
lOWER(STR)----將所有字串轉成小寫
LEFT(STR,NUM)---取一個字符串的前多少位
RIGHT(STR,NUM)---取一個字串的後多少位








發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章