数据库表的查询

单表查询:

一 关键字的执行优先级:
from                      #来自表
where                   #来自字段 可以用 [字段名] like(regexp) ‘ab%‘(正则) 选择以该字段数据以‘ab‘开头的
group by               #分组; 想拿到别的字段必须和group_concat(函数一起使用)
having                   #过滤; 必须是在分组之后进行的进一步的过滤,而且可以使用聚合函数
select                    #查询,选择
distinct                 #去重
order by               #排序 asc #升序,默认的 desc #降序
limit                      #限制条数

二 单表查询的语法:

select * from,                    #这个select * 指的是要查询所有字段的数据。

select distinct 字段1,字段2... from [库名.表名]            #from后面是说从库的某个表中去找数据,mysql会去找到这个库对应的文件夹下去找到你表名对应的那个数据文件,找不到就直接报错了,找到了就继续后面的操作

where                                   #条件 #从表中找符合条件的数据记录,where后面跟的是你的查询条件

group by [字段名]                 #分组
注意:我们按照post字段分组,那么select查询的字段只能是post,想要获取组内的其他相关信息,需要借助函数group_concat().例如: 查询t1表中岗位名称以及岗位中所包含的员工名字
select post,group_concat(name) from t1 group by post

having 筛选                       #过滤,过滤之后执行select后面的字段筛选,就是说我要确定一下需要哪个字段的数据,你查询的字段数据进行去重,然后在进行having过滤的操作

order by [字段名]              #将结果按照后面的字段进行排序

limit 限制条数                   #将最后的结果加一个限制条数,就是说我要过滤或者说限制查询出来的数据记录的条数

三 函数

concat(‘姓名:‘ , [字段名] , ‘年薪:‘ , [字段名]*12)                        #函数用于连接字符串,且只有一个字段

concat(‘姓名:‘ , [字段名]),concat(‘年薪:‘ , [字段名]*12)             #设置了两个字段来显示连接的字符串

select count(*) from [表名];                                                     #count是统计个数用的

select count(*) from [表名] where depart_id=1;                     #后面跟where条件的意思是统计一下满足depart_id=1这个的所有记录的个数

select max([字段名]) from [表名];                                           #max()统计分组后每组的最大值,这里没有写group by,那么就是统计整个表中所有记录中薪资最大的,薪资的值

select min([字段名]) from [表名];                                            #最小值

select avg([字段名]) from [表名];                                            #平均值

select sum([字段名]) from [表名];                                           #和

多表查询:

  select [字段名] from [表名1] <inner | left | right> join [表名2] on [两个表关联的条件] where [过滤条件];

  一定要注意:(查询出来的虚拟表,一定要赋予一个新名字才可以被查询拿值)

sql逻辑查询语句的执行顺序: select语句关键字的定义顺序    join模式有inner ,left ,right

  select distinct <select_list>
  from <左边表>
  <join模式> join <右边表>
  on <join条件>
  where <where条件>
  group by <group_by条件>
  having <having条件>
  order by <order_by条件>
  limit <limit条件(索引,数字)>

原文地址:https://www.cnblogs.com/gyc-tzx/p/10306363.html

时间: 2024-12-21 21:29:17

数据库表的查询的相关文章

数据库表的查询操作(实验二),数据库表查询实验

[实验目的]:了解SQL语言的使用,进一步理解关系运算,巩固数据库的基础知识.[实验要求]:掌握利用Select语句进行各种查询操作:单表查询.多表连接及查询.嵌套查询.集合查询等.[实验内容]一.单表查询1.简单查询打开查询分析器,根建立teacher表,并加入数据.从teacher表中分别检索出教师的所有信息,以及仅查询教工号.姓名和职称.语句如下: select * from teacher select tno, tname from teacher 如要查询时改变列标题的显示,则从te

数据库表的查询操作实践演练(实验三),数据库演练

继前两次的实验,本次实验以熟练掌握利用select语句进行各种查询操作:单表查询.多表连接及查询.嵌套查询.集合查询等,巩固数据库查询操作.下面就跟着小编一起练习吧!在实验一创建并插入数据的表(Student, Course,SC,Teacher,TC)的基础上,完成以下操作.(1)将教师‘罗莉'的名字改为‘罗莉莉'.复制代码 代码如下:update Teacher set tname='罗莉莉' where tname='罗莉'(2)将两个同学(数据自己临时设置,用后即删除)的两门课程的成绩以

MySQL(三) 数据库表的查询操作【重要】

序言 1.MySQL表操作(创建表,查询表结构,更改表字段等), 2.MySQL的数据类型(CHAR.VARCHAR.BLOB,等), 本节比较重要,对数据表数据进行查询操作,其中可能大家不熟悉的就对于INNER JOIN(内连接).LEFT JOIN(左连接).RIGHT JOIN(右连接)等一些复杂查询. 通过本节的学习,可以让你知道这些基本的复杂查询是怎么实现的,但是建议还是需要多动手去敲,虽然理解了什么是内连接等,但是从理解到学会,是完全不一样的感觉. --WH 一.单表查询 1.1.查

最全MySQL数据库表的查询操作

序言 1.MySQL表操作(创建表,查询表结构,更改表字段等), 2.MySQL的数据类型(CHAR.VARCHAR.BLOB,等), 本节比较重要,对数据表数据进行查询操作,其中可能大家不熟悉的就对于INNER JOIN(内连接).LEFT JOIN(左连接).RIGHT JOIN(右连接)等一些复杂查询. 通过本节的学习,可以让你知道这些基本的复杂查询是怎么实现的,但是建议还是需要多动手去敲,虽然理解了什么是内连接等,但是从理解到学会,是完全不一样的感觉. --WZY 一.单表查询 1.1.

mysql数据库表的查询

一.            设有一数据库,包括四个表:学生表(Student).课程表(Course).成绩表(Score)以及教师信息表(Teacher).四个表的结构分别如表1-1的表(一)~表(四)所示,数据如表1-2的表(一)~表(四)所示.用SQL语句创建四个表并完成相关题目. 表1-1数据库的表结构  表(一)Student (学生use) 属性名 数据类型 可否为空 含 义 Sno varchar (20) 否 学号(主码) Sname varchar (20) 否 学生姓名 Ss

不同服务器数据库表连接查询,修改

exec sp_addlinkedserver  'ERP','','SQLOLEDB','10.0.10.0' exec sp_addlinkedsrvlogin 'ERP','false',null,'sa','123456' 在服务器端-连接服务器可以看到'10.0.10.0' 服务器的数据库,使用该服务器数据库时,在查询数据库前添加ERP.,便可以跨服务器对数据库中的表增删查改 原文地址:https://www.cnblogs.com/TiantianLi/p/10256755.html

mysql数据库表单查询和函数的使用

单表查询 准备一张雇员表company.employee 雇员编号 emp_id   int 雇员姓名 emp_name  varchar(30) 雇员性别 sex  enum 雇用日期 hire_date  date 职位  post  varchar(50) 职位描述 job_description  varchar(50) 薪水 salary double(15,2) 办公室office int 部门编号 dep_id int 一.表的简单查询 Select * from employee

ORACLE数据库表空间查询

前提:必须有DBA权限,有权限查询表空间使用情况 --查看表空间使用情况 SELECT UPPER(F.TABLESPACE_NAME) "表空间名", D.TOT_GROOTTE_MB "表空间大小(M)", D.TOT_GROOTTE_MB - F.TOTAL_BYTES "已使用空间(M)", TO_CHAR(ROUND((D.TOT_GROOTTE_MB - F.TOTAL_BYTES) /D.TOT_GROOTTE_MB * 100,2

oracle数据库数据库表空间查询及扩充

1.查询表空间,及表空间的大小 SELECT t.tablespace_name, round(SUM(bytes / (1024 * 1024)), 0) ts_size FROM dba_tablespaces t, dba_data_files d WHERE t.tablespace_name = d.tablespace_name GROUP BY t.tablespace_name; 2.表空间的文件系统地址 select FILE_NAME from dba_data_files