mysql查询操作

Jun 07, 2016 pm 03:34 PM
fr mysql select 작동하다 질문 기록 선택하다

1、选择所有的记录 select * from table_name; 其中*表示表中的所有字段。 2、查询不重复的记录 用关键字distinct select distinct 字段名 from 表名; 3、条件查询 用关键字where select * from 表名 where 条件; where后面的条件是一个字段的比较,可以使

1、选择所有的记录

   select * from table_name;

   其中*表示表中的所有字段。

 

2、查询不重复的记录

   用关键字distinct

   select distinct  字段名  from  表名;

  

3、条件查询

   用关键字where

   select * from 表名 where 条件;

   where后面的条件是一个字段的比较,可以使用=、>、=、

 

4、排序和限制

   用关键字order by  desc(降序), asc(升序),limit(排序结果显示一部分)

   order by后面可以跟多个不同的排序字段,并且每个排序字段可以有不同的排序顺序。

   例如:把emp表中的记录按照工资sal的高低顺序排序。

   select * from emp order by sal;  

   select * from emp order by sal,deptno desc;(sal升序,septno降序)

   先按第一个字段排序,当第一个字段相同时,按照第二个字段排序。

  

   select······limit offset_start, row_count;

   offset_start表示起始偏移量,默认值为0。 row_count表示显示的行数。

   例如:select * from emp order by sal limit 1,3;

   显示前3条记录,起始偏移量为1,从第二条记录开始显示。

   order  by 和limit 通常一起使用来控制记录的分页显示

  

5、聚合

   很多情况下,用户需要一些汇总操作,例如统计整个公司的人数或者每个部门的人数。

   语法:

   select 字段1,字段2.。。函数名 from 表名  where where_condition1  group by  字段11,字段12 with rollup  having  where_condition2; 

   函数名表示要做的聚合操作,就是聚合函数,常用的有sum(求和)、count(*)(记录数)、max(最大值)、min(最小值)。

   group by 关键字表示要进行分类聚合的字段、

   having 关键字表示对分类后的结果在进行条件的过滤。

   having和where的区别是having是对聚合后的结果进行条件的过滤,而where是在聚合前就对记录进行过滤,如果逻辑允许,我们可以用where先进行过滤,这样结果集变小了,将对聚合的效率大大的提高,最后在根据逻辑看是否用having进行再过滤。

select sum(sal), max(sal), min(sal) from emp;

 

6、表连接

   当需要同时显示多个表中的字段时,就可以用表连接来实现这样的功能。

   从大类上分,表连接分为内连接和外连接,它们之间的最主要的区别是内连接仅选出两张表中互相匹配的记录,而外连接会会选出其他不匹配的记录。我们最常用的是内连接。

   例如:查询出所有雇员的名字和所在的部门名称,因为雇员名称和部门分别放在表emp和表dept中,因此,需要使用表连接来进行查询。

   select ename, deptname from emp, dept where emp.deptno=dept.deptno;

 (ename是表emp中的字段,deptname是dept表中的字段)

 

  外连接又分为左链接和右连接(关键字left join和 right join

   连接:包含所有的边表中的记录甚至是边表中没有和他匹配的记录。

   连接:包含所有的边表中的记录甚至是边表中没有和他匹配的记录。

   例如:select ename, deptname from emp left join dept on emp.deptno=dept.deptno;

         select ename, deptname from dept right join emp on emp.deptno=dept.deptno;

         ename是表emp中的字段,deptname是dept表中的字段。 就是包含表emp中的所有记录。     以上两条语句等价。

 

7、字查询

   在某些情况下,当进行查询的时候,需要的条件是另外一个select语句的结果,这个时候,就要用到子查询。用于子查询的关键字主要包括in、not in、=、!=、exists、not exists等。

    

   select * from emp where deptno in (select deptno from dept);

   (表示的意思就是就表emp中的所有记录,除去dept表对应的部门不存在的删掉。)

 

 在某些情况下,子查询可以转化成表连接。例如,上面的语句可以写成:

   select emp.* from emp, dept where emp.deptno=dept.deptno;

 

8、记录联合

   我们经常会碰到这样的应用,将两个表的数据按照一定的查询条件查询出来后,将结果合并到一起显示出来。这个时候,就需要用到union和 union all关键字来实现这样的功能。union和union all的区别:union all 是把结果集合并在一起,而union是将union all后的结果进行一次distict,去除重复记录。

   select * from table1  union| union all select * from table2;

   例如:

   ① select deptno from emp  union all select deptno from dept;

   ② select deptno from emp  union select deptno from dept;

   ①中的记录将会有重复记录,②中没有重复记录。

 

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

뜨거운 기사 태그

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

PHP의 빅데이터 구조 처리 능력 PHP의 빅데이터 구조 처리 능력 May 08, 2024 am 10:24 AM

PHP의 빅데이터 구조 처리 능력

PHP에서 MySQL 쿼리 성능을 최적화하는 방법은 무엇입니까? PHP에서 MySQL 쿼리 성능을 최적화하는 방법은 무엇입니까? Jun 03, 2024 pm 08:11 PM

PHP에서 MySQL 쿼리 성능을 최적화하는 방법은 무엇입니까?

PHP에서 MySQL 백업 및 복원을 사용하는 방법은 무엇입니까? PHP에서 MySQL 백업 및 복원을 사용하는 방법은 무엇입니까? Jun 03, 2024 pm 12:19 PM

PHP에서 MySQL 백업 및 복원을 사용하는 방법은 무엇입니까?

PHP를 사용하여 MySQL 테이블에 데이터를 삽입하는 방법은 무엇입니까? PHP를 사용하여 MySQL 테이블에 데이터를 삽입하는 방법은 무엇입니까? Jun 02, 2024 pm 02:26 PM

PHP를 사용하여 MySQL 테이블에 데이터를 삽입하는 방법은 무엇입니까?

데이터베이스에서 Java 열거 유형의 애플리케이션 시나리오는 무엇입니까? 데이터베이스에서 Java 열거 유형의 애플리케이션 시나리오는 무엇입니까? May 05, 2024 am 09:06 AM

데이터베이스에서 Java 열거 유형의 애플리케이션 시나리오는 무엇입니까?

MySQL 8.4에서 mysql_native_password가 로드되지 않음 오류를 수정하는 방법 MySQL 8.4에서 mysql_native_password가 로드되지 않음 오류를 수정하는 방법 Dec 09, 2024 am 11:42 AM

MySQL 8.4에서 mysql_native_password가 로드되지 않음 오류를 수정하는 방법

PHP에서 MySQL 저장 프로시저를 사용하는 방법은 무엇입니까? PHP에서 MySQL 저장 프로시저를 사용하는 방법은 무엇입니까? Jun 02, 2024 pm 02:13 PM

PHP에서 MySQL 저장 프로시저를 사용하는 방법은 무엇입니까?

PHP를 사용하여 MySQL 테이블을 만드는 방법은 무엇입니까? PHP를 사용하여 MySQL 테이블을 만드는 방법은 무엇입니까? Jun 04, 2024 pm 01:57 PM

PHP를 사용하여 MySQL 테이블을 만드는 방법은 무엇입니까?

See all articles