>  기사  >  Java  >  Java의 mysql 쿼리 문은 무엇입니까?

Java의 mysql 쿼리 문은 무엇입니까?

coldplay.xixi
coldplay.xixi원래의
2020-11-02 15:36:244621검색

Java의 MySQL 쿼리 문: 1. 단순 쿼리, 3. 정렬 쿼리, 코드는 [그룹화된 필드별로 그룹화]입니다. 5. 페이징 쿼리, 코드 [테이블 이름 제한에서 * 선택 x;]입니다.

Java의 mysql 쿼리 문은 무엇입니까?

Java의 MySQL 쿼리 문:

1. 단순 쿼리

– 모든 필드 쿼리:

테이블 이름에서 * 선택

- - 지정된 필드 쿼리:

필드 1 선택 , 필드 2... from table name;

- - 테이블 별칭: 별칭에 특수 기호나 공백이 있는 경우 따옴표로 묶어야 합니다.

테이블 이름에서 * 선택 [as] 테이블 별칭

- - 열 별칭: as는 생략 가능.

테이블 이름에서 필드 1 [as] 별칭, 필드 2 [as] 별칭 선택;

- - 중복 값 제거: 필드가 여러 개인 경우 동시에 반복 .

테이블 이름에서 고유 필드 선택 ;

- - 작업 쿼리:

테이블 이름에서 (수학+영어) 총점 선택;

2. 조건 쿼리:

비교 연산자: > , = , >= , < ;= , a8093152e673feb7aba1828c43532094(!=)

논리 연산자:

between…and… : 특정 범위(머리와 꼬리 포함)에 표시되는 값

in(다중) 조건) : 또는 (또는) 관계

유사: 모호한 쿼리

%는 0개 또는 여러 개의 문자를 나타냅니다.

_ 문자를 나타냅니다.

null: 비어 있는지 확인합니다.

3, 쿼리 정렬: 쓰기

필드 ASC(오름차순 - 기본값)/DESC(내림차순)을 정렬하여 테이블 이름 순서에서 *를 선택합니다.

정렬할 필드가 여러 개인 경우 첫 번째 항목부터 정렬합니다. , 다음 항목으로 정렬

4. 집계 함수: select 후, from 전.

sum(sum): 지정된 열이 숫자 유형이 아니며 계산 결과가 0입니다.

max(최대값): 문자열 유형인 경우

min(최소값):

avg(평균값)을 사용합니다. 열이 숫자 유형이 아니고 계산 결과가 0입니다.

5. 그룹 쿼리

group by 被分组的字段.[Having 条件]

    여기서: 그룹화 쿼리 전 필터.
  • having: 그룹화 쿼리 후 필터.
  • 참고 ; 그룹화된 필드는 일반적으로 보기 쉽게 쿼리 조건으로 선택한 후 작성됩니다

6. 페이징 쿼리(이해)

키워드 제한을 사용하세요

형식 1: 데이터의 처음 x개 조각만

select * from 表名 limit x;

형식 2: 페이징 query

 select * from 表名 limit m,n;

    m: 각 페이지의 데이터 시작 행 수, 변경
  • n: 각 페이지에 표시되는 숫자, 고정
  • 참고:

데이터베이스 행의 인덱스 0부터 시작

열의 인덱스는 1부터 시작

단일 테이블의 경우:

-- 创建数据库
create database day03; 
-- 员工表
USE day03; 
CREATE TABLE emp(
     -- 员工编号
     empno   INT,
     -- 员工姓名
     ename   VARCHAR(50),
     -- 工作
     job  VARCHAR(50),
     -- 管理者
     mgr   INT,
     -- 雇用时间 
     hiredate   DATE,
     -- 工资
     sal  DECIMAL(7,2),
     -- 奖金
     comm  DECIMAL(7,2),
     -- 部门
     deptno  INT
) ;
-- 部门表
CREATE TABLE dept(
   -- 部门
   deptno  INT,
   -- 部门名称
   dname  VARCHAR(14),
   -- 部门位置
   loc   VARCHAR(13)
   );
-- 向员工表中添加数据.
INSERT INTO emp VALUES(7369,&#39;SMITH&#39;,&#39;CLERK&#39;,7902,&#39;1980-12-17&#39;,800,NULL,20);
INSERT INTO emp VALUES(7499,&#39;ALLEN&#39;,&#39;SALESMAN&#39;,7698,&#39;1981-02-20&#39;,1600,300,30);
INSERT INTO emp VALUES(7521,&#39;WARD&#39;,&#39;SALESMAN&#39;,7698,&#39;1981-02-22&#39;,1250,500,30);
INSERT INTO emp VALUES(7566,&#39;JONES&#39;,&#39;MANAGER&#39;,7839,&#39;1981-04-02&#39;,2975,NULL,20);
INSERT INTO emp VALUES(7654,&#39;MARTIN&#39;,&#39;SALESMAN&#39;,7698,&#39;1981-09-28&#39;,1250,1400,30);
INSERT INTO emp VALUES(7698,&#39;BLAKE&#39;,&#39;MANAGER&#39;,7839,&#39;1981-05-01&#39;,2850,NULL,30);
INSERT INTO emp VALUES(7782,&#39;CLARK&#39;,&#39;MANAGER&#39;,7839,&#39;1981-06-09&#39;,2450,NULL,10);
INSERT INTO emp VALUES(7788,&#39;SCOTT&#39;,&#39;ANALYST&#39;,7566,&#39;1987-04-19&#39;,3000,NULL,20);
INSERT INTO emp VALUES(7839,&#39;KING&#39;,&#39;PRESIDENT&#39;,NULL,&#39;1981-11-17&#39;,5000,NULL,10);
INSERT INTO emp VALUES(7844,&#39;TURNER&#39;,&#39;SALESMAN&#39;,7698,&#39;1981-09-08&#39;,1500,0,30);
INSERT INTO emp VALUES(7876,&#39;ADAMS&#39;,&#39;CLERK&#39;,7788,&#39;1987-05-23&#39;,1100,NULL,20);
INSERT INTO emp VALUES(7900,&#39;JAMES&#39;,&#39;CLERK&#39;,7698,&#39;1981-12-03&#39;,950,NULL,30);
INSERT INTO emp VALUES(7902,&#39;FORD&#39;,&#39;ANALYST&#39;,7566,&#39;1981-12-03&#39;,3000,NULL,20);
INSERT INTO emp VALUES(7934,&#39;MILLER&#39;,&#39;CLERK&#39;,7782,&#39;1982-01-23&#39;,1300,NULL,10);
-- 向部门表添加数据 , 采用批量插入数据, 用 , 号隔开 .
INSERT INTO dept VALUES(10, &#39;ACCOUNTING&#39;, &#39;NEW YORK&#39;)
,(20, &#39;RESEARCH&#39;, &#39;DALLAS&#39;),(30, &#39;SALES&#39;, &#39;CHICAGO&#39;),
(40, &#39;OPERATIONS&#39;, &#39;BOSTON&#39;);
-- 1.  查询工资大于1200的员工姓名和工资
SELECT ename 员工姓名 , sal 工资 FROM emp  WHERE sal > 1200;
-- 2.   查询员工号为7698的员工的姓名和部门号
SELECT ename 员工姓名 , deptno 部门号 FROM emp WHERE empno = 7698;
-- 3.   选择工资不在500到1200的员工的姓名和工资
SELECT ename 员工姓名 ,sal 工资 FROM emp WHERE sal<=1200 && sal >= 500;
-- 4.   选择雇用时间在1981-02-01到1987-05-01之间的员工姓名,job_id和雇用时间
SELECT ename 员工姓名,empno , hiredate FROM emp WHERE hiredate BETWEEN &#39;1981-02-01&#39; AND &#39;1987-05-01&#39;;
-- 5.   选择在20或30号部门工作的员工姓名和部门号
SELECT ename 员工姓名,deptno 部门号 FROM emp WHERE deptno IN(20 , 30 );
-- 6.   选择在1981年雇用的员工的姓名和雇用时间
SELECT ename 员工姓名,hiredate 雇佣时间 FROM emp WHERE hiredate LIKE(&#39;1981-__-__&#39;);
-- 7.   选择公司中没有管理者的员工姓名及job_id
SELECT ename 员工姓名,empno FROM emp WHERE mgr IS NULL;
-- 8.   选择公司中有奖金的员工姓名,工资和奖金级别
SELECT ename 员工姓名,sal 工资,comm 奖金 FROM emp WHERE comm IS NOT NULL OR;
-- 9.   选择员工姓名的第三个字母是a的员工姓名
SELECT ename 员工姓名 FROM emp WHERE ename LIKE &#39;__A%&#39;;
-- 10.  选择姓名中有字母a和e的员工姓名
SELECT ename 员工姓名 FROM emp WHERE ename LIKE &#39;%A%&#39; OR &#39;%E%&#39;
-- 11.  查询员工号,姓名,工资,以及工资提高百分之20%后的结果(new salary)
SELECT empno 员工号, ename 姓名,sal+(sal*0.2) 工资 FROM emp;
-- 12.  将员工的姓名按首字母排序
SELECT ename FROM emp ORDER BY ename ASC; -- 升序
SELECT ename FROM emp ORDER BY ename DESC; -- 降序
-- 13.  查询公司员工工资的最大值,最小值,平均值,总和
SELECT MAX(sal) 最大值,MIN(sal) 最小值 , AVG(sal) 平均值, SUM(sal) 总和 FROM emp;   
-- 14.  查询各deptno的员工工资的最大值,最小值,平均值,总和
SELECT deptno 部门,MAX(sal) 最大值,MIN(sal) 最小值 , AVG(sal) 平均值, SUM(sal) 总和 FROM emp GROUP BY deptno;   
-- 15.  选择具有各个deptno的员工人数
SELECT deptno , COUNT(empno) FROM emp GROUP BY deptno;

관련 무료 학습 권장 사항:
java basic tutorial

, mysql video tutorial

위 내용은 Java의 mysql 쿼리 문은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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

관련 기사

더보기