select查询语句

前言
最近有空,总结一下,select的查询语句用法,使用的是MySQL数据库,使用的数据库是mysql官方公用测试数据,可以参考https://blog.csdn.net/qq_26896085/article/details/104843889,如果按此操作后,使用mysql客户端却查不到employees数据库的话,但是在服务器端通过 show databases;命令却能查到的话,那就是权限问题,需要给客户端使用的远程用户分配这个数据库的权限。
一、检索单个列与检索多个列
二、通配符的使用
三、筛选结果限制


一、检索单个列与检索多个列
基本语法是 select 要查询的列名 from 表名;
进行查询,首先要明白两个部分,一是要查询那些东西,二是从哪个地方查
如果要查询单列,使用这个 select 要查询的列名 from 表名;就可以,如果要查询多列的话,select 列名,列名,列名 from 表名;,多个列之间用英文的逗号","隔开,一般一个sql写完之后,要在后面加上英文的分号";",虽说此分号加不加不影响结果,但是多条语句一起执行时,如果不加sql则会报错。
比如,我要查询部门员工表dept_emp的员工号

语句 select emp_no from depr_emp;
结果为:

如果我要查询,部门员工表中的员工号,对应部门编号
语句:select emp_no,dept_no from dept_emp;

二、通配符的使用
如果要查询某张表的所有字段时,或者不知道某张表中都有哪些字段,可以采用通配符 "", 语法就是 select * from 表名;
* 代表的所有的,一般在代码编程中会尽量避免使用
,因为会影响查询效率
例如:要查询部门员工表 select * from dept_emp;

三、筛选结果限制
在这里只要讲的是限制返回条数,一般用于分页
比如,返回部门员工表的前五行 语句:select * from dept_emp limit 5;等价与 select * from dept_emp limit 0,5;

如果要返回部门员工表的第6到10行则为 select * from dept_emp limit 6,5; 是不是有点奇怪,limit后面为什么不是 6,10,那是因为 逗号前面的6代表从第6行开始,而逗号后面的数字则代表了要查询得行数,而第6行到第10行总共5行,那它的行数就是5所以是 6,5
(从MySQL5开始对此引入了offset,部门员工表的第6到10行也可以写成select * from dept_emp limit 5 offset 6; offset前面的数字是要查询的行数,offset后的数字是开始行数)

生于忧患,死于安乐
原文地址:https://www.cnblogs.com/songlove/p/15488716.html