1/7 SELECT语句:基础检索

序号说明操作
1检索单个列SELECT col_name FROM tb_name;
2检索多个列SELECT col_name1,col_name2 FROM tb_name;
3检索所有列SELECT * FROM tb_name;
4检索列值不同的行SELECT DISTINCT FROM tb_name;
5限制结果,意为从行3开始取4行LIMIT 2 OFFSET 3LIMIT 3,2
6使用完全限定的表名SELECT tb_name.col_name FROM tb_name; SELECT tb_name.col_name FROM db_name.tb_name;

以下为数据库SQLTEST中的三张表,其结构和内容如下:
在这里插入图片描述

1.检索单个列

返回数据的顺序可能是数据被添加到表中的顺序,也可能不是。只要返回相同数目的行,就是正常的。

mysql> SELECT Stu_id 
    -> FROM T_Score;
+--------+
| Stu_id |
+--------+
|      1 |
|      1 |
|      2 |
|      2 |
|      3 |
|      4 |
+--------+

2.检索多个列

mysql> SELECT Stu_id,Lesson_id
    -> FROM t_score;
+--------+-----------+
| Stu_id | Lesson_id |
+--------+-----------+
|      1 | L001      |
|      1 | L002      |
|      2 | L001      |
|      2 | L004      |
|      3 | L003      |
|      4 | L005      |
+--------+-----------+

3.检索所有列

mysql> SELECT *
    -> FROM t_score;
+--------+-----------+-------+
| Stu_id | Lesson_id | Score |
+--------+-----------+-------+
|      1 | L001      |    90 |
|      1 | L002      |    86 |
|      2 | L001      |    84 |
|      2 | L004      |    75 |
|      3 | L003      |    85 |
|      4 | L005      |    98 |
+--------+-----------+-------+

4.检索列值不同的行

DISTINCT关键字:指示MySQL只返回不同的值。

mysql> SELECT DISTINCT Stu_id
    -> FROM t_score;
+--------+
| Stu_id |
+--------+
|      1 |
|      2 |
|      3 |
|      4 |
+--------+

不能部分使用DISTINCT,如果给出SELECT DISTINCT Stu_id, Lesson_id,除非指定的两个列都不同,否则所有行都将被检索出来。

mysql> SELECT DISTINCT Stu_id, Lesson_id
    -> FROM t_score;
+--------+-----------+
| Stu_id | Lesson_id |
+--------+-----------+
|      1 | L001      |
|      1 | L002      |
|      2 | L001      |
|      2 | L004      |
|      3 | L003      |
|      4 | L005      |
+--------+-----------+

5.限制结果

LIMIT 2指示MySQL返回不多于2行。

mysql> SELECT Stu_id, Lesson_id
    -> FROM t_score
    -> LIMIT 2;
+--------+-----------+
| Stu_id | Lesson_id |
+--------+-----------+
|      1 | L001      |
|      1 | L002      |
+--------+-----------+

LIMIT 2,2可指定要检索的开始行和行数;
行0:检索出来的第一行为行0而不是行1。因此,LIMIT 2,2将检索出第3行而不是第1行。

mysql> SELECT Stu_id, Lesson_id
    -> FROM t_score
    -> LIMIT 2,2;
+--------+-----------+
| Stu_id | Lesson_id |
+--------+-----------+
|      2 | L001      |
|      2 | L004      |
+--------+-----------+

LIMIT 2 OFFSET 3意为从行3开始取4行,就像LIMIT 3,2

mysql> SELECT Stu_id, Lesson_id
    -> FROM t_score
    -> LIMIT 2 OFFSET 3;
+--------+-----------+
| Stu_id | Lesson_id |
+--------+-----------+
|      2 | L004      |
|      3 | L003      |
+--------+-----------+

6.使用完全限定的表名

可使用完全限定的名字来引用列,即同时使用表名和列字。

mysql> SELECT t_score.stu_id
    -> FROM t_score;
+--------+
| stu_id |
+--------+
|      1 |
|      1 |
|      2 |
|      2 |
|      3 |
|      4 |
+--------+

表名也可以是完全限定的。

mysql> SELECT t_score.Stu_id
    -> FROM sqltest.t_score;
+--------+
| Stu_id |
+--------+
|      1 |
|      1 |
|      2 |
|      2 |
|      3 |
|      4 |
+--------+
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值