>데이터 베이스 >MySQL 튜토리얼 >SQL 함수 및 쿼리 방법

SQL 함수 및 쿼리 방법

一个新手
一个新手원래의
2017-09-08 10:43:411866검색

1. 자주 사용하는 기능:
또는 위치를 선택한 후 사용할 수 있습니다.

lower把字段变小写,upper把字段变大写,如:
SELECT userId,LOWER(username) as 变小写,UPPER(password ) as 变大写 from `user` 
substr(字段或字符串,start,length):把字段转换成大写 start从1开始 截取的长度,如:
SELECT userId,SUBSTR(username,1,2) from `user`

2. 그룹화 기능 : 계산된 결과는 특정 행에 대한 것이 아닌 쿼리에 대한 것입니다. *PS: (선택 사항)은 이전 필드의 이름을 바꾸는 것입니다(임시, 이번에만 유효하며 테이블을 변경하지 않음) *

select AVG(sal) as 平均工资水平 from emp
select empno,ename,AVG(sal) as 平均工资水平 from emp
select max(sal) as 最大值 from emp
select min(sal) as 最小值 from emp
select sum(sal) as 字段和 from emp
select count(comm) as 奖金字段个数,count(sal) as 工资字段个数 from emp


3. 쿼리 결과의 그룹 계산:

group by:对不同的字段值进行分组。
select deptno from emp GROUP BY deptno
/*根据deptnot字段对emp表进行分组并显示各组的deptno字段*/
select deptno,avg(sal) as 各组的平均工资 from emp GROUP BY deptno  /*根据deptnot字段对emp表进行分组并显示各组deptno字段和各组的平均工资*/
select deptno,max(sal) as 各组的最高工资 from emp GROUP BY deptno  /*根据deptnot字段对emp表进行分组并显示各组deptno字段和各组的最高工资*/
select deptno,min(sal) as 各组的最低工资 from emp GROUP BY deptno  /*根据deptnot字段对emp表进行分组并显示各组deptno字段和各组的最低工资*/
select deptno,count(sal) as 各组的有多少人有工资 from emp GROUP BY deptno  /*根据deptnot字段对emp表进行分组并显示各组deptno字段和各组的有多少人有工资*/
select deptno,sum(sal) as 各组的工资总额 from emp GROUP BY deptno  /*根据deptnot字段对emp表进行分组并显示各组deptno字段和各组的工资总额*/
对group by分组的过滤,不用where,而用hiving。如:
select JOB,avg(sal) as 平均工资 from emp GROUP BY JOB HAVING 平均工资>2000


4. 하위 쿼리: 하위 쿼리의 결과는 임시 테이블입니다. 예:

SELECT * from (SELECT * from emp) as e


5. 조인된 테이블 쿼리(다중 테이블 쿼리):

92语法:SELECT b1.col1,b2.col2 from b b1,a b2 where b.c=a.c
99语法:inner join查询两表都有数据的结果: SELECT b1.col1,b2.col2 from emp e INNER join dept d on e.deptno=d.deptno
left join查询左边表有数据的结果:SELECT e.*,d.deptno,d.loc from emp e left join dept d on e.deptno=d.deptno
right join查询右边表有数据的结果:SELECT e.*,d.deptno,d.loc from emp e RIGHT join dept d on e.deptno=d.deptno


6. 페이징 쿼리: 제한(시작, 쿼리 수) 시작은 0부터 시작됩니다. 예:

SELECT * from 表名 limit 0,5 /*查询从第一条数据开始的五条数据*/

위 내용은 SQL 함수 및 쿼리 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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