sql语句学习教程03_select_select查询_select语句_sql查询语句

教程发布:风哥 教程分类:MySQL教程 更新日期:2020-03-05 浏览学习:2633

1.select语法与表达式

select查询是SQL语言中的基础,但也往往最复杂的SQL语句也是查询语句,掌握好了各种条件下的查询,也就能写出复杂的过程、函数,也就能快速掌握复杂条件下的新增、更新、删除等语句,一个完整的SQL语法框架,参考如下:
SELECT  [表名|视图名].字段名
FROM   表名|视图名
WHERE  查询条件
GROUP BY  分组
HAVING     分组后再过滤筛选
LIMIT  限制显示多少行记录
ORDER BY [ASC | DESC] 排序,升序|降序

2.SELECT查询列

用select语句开头,后面跟着需要显示的列,列可以来自于在from中指定的表或视图的字段,也可以是表达式、函数、甚至是子查询,但表达式、函数或者是子查询,当做查询列使用时,在同一行记录中,只能返回单一属性值。如果是多表查询,在查询列中出现的列在多个表中都存在,就必须明确指明是哪个表的列,案例如下:

fgedu.net@mysql> select 10+20, 10*20;
+-------+-------+
| 10+20 | 10*20 |
+-------+-------+
|    30 |   200 |
+-------+-------+
1 row in set (0.00 sec)

fgedu.net@mysql> select NOW(),UNIX_TIMESTAMP();
+---------------------+------------------+

| NOW()               | UNIX_TIMESTAMP() |

+---------------------+------------------+

| 2019-09-01 09:08:57 |       1567300137 |

+---------------------+------------------+

1 row in set (0.05 sec)

fgedu.net@mysql> select yg.department_id from yg, bm where yg.department_id=bm.department_id limit 1;

+---------------+
| department_id |
+---------------+
|            10 |
+---------------+

1 row in set (0.01 sec)

3.FROM子句及别名

From字句是用来指定查询的数据源,可以是表、视图,也可以是一个查询结果集,如果是一个子查询,那必须给这个子查询设置一个别名,别名是一种代号,可以为列、表、视图、子查询设置别名,设置之后,就可以用别名来指代原来的对象(仅在当前SQL语句中有效),好处是便于理解、引用,简化SQL复杂度。

案例1:在需要设置的对象后面 加上“as 别名”即可,“as 也可以省略”。
fgedu.net@mysql> select * from (select last_name from yg limit 5) a;
+-----------+
| last_name |
+-----------+
| Abel      |
| Ande      |
| Atkinson  |
| Baer      |
| Baida     |
-----------+
5 rows in set (0.00 sec)

案例2:为列设置别名后,就以别名的形式显示列标题
fgedu.net@mysql> select a.department_id dept from yg a, bm b where a.department_id=b.department_id limit 1;
+------+
| dept |
+------+
|   60 |
+------+

1 row in set (0.00 sec)

4.虚拟表DUAL

DUAL表是一个虚拟的表,意思就是不是真实存在的,可以理解成是为了让语法结构更加完整而杜撰出来的,实际上在MySQL中不像在ORACLE中那么严谨,MySQL中完全可以省略掉from dual这一部分语句,例如:下面两句语句在MySQL中是一样的。
select NOW() from dual;
select NOW();

网站声明:本文由风哥整理发布,转载请保留此段声明,本站所有内容将不对其使用后果做任何承诺,请读者谨慎使用!
【上一篇】sql语句学习教程04_select运算符_select查询_select语句_sql查询语句
【下一篇】sql语句学习教程02_sql查询语句_sql语法_sql数据类型