小編給大家分享一下java中mysql查詢語句是什么,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
java中mysql查詢語句:1、簡單查詢;2、簡單查詢;3、排序查詢;4、分組查詢,代碼為【group by 被分組的字段.[Having 條件]】;5、分頁查詢,代碼為【select * from 表名 limit x;】。
java中mysql查詢語句:
1、簡單查詢
–查詢所有的字段:
select * from 表名 ;
- - 查詢指定的字段:
select 字段1,字段2… from 表名 ;
- - 表別名 : 別名中如果有特殊符號或空格,需要用引號引起來
select * from 表名 [as] 表別名
- - 列別名 : as 可省略.
select 字段1 [as] 別名 , 字段2 [as] 別名 from 表名 ;
- - 去掉重復值: 如果有多個字段 , 要同時重復.
select distinct 字段 from 表名 ;
- - 運算查詢:
select (math+english) 總成績 from 表名 ;
2、條件查詢:
比較運算符: > , < , = , >= , <= , <>(!=)
邏輯運算符:
between…and… : 顯示在某一區間的值(含頭含尾)
in( 多個條件) : 或者(or)關系
like: 模糊查詢
% 代表零個或者多個任意字符.
_ 代表一個字符.
is null : 判斷是否為空.
3、排序查詢 : 寫在sql語句末尾.
select * from 表名 order by 排序字段 ASC(升序 - 默認)/DESC(降序)
被排序的字段如果有多個,先按照第一個排序,在按照后邊的依次排序
4、聚合函數 : select之后 , from 之前.
sum(求和): 指定列不是數值類型 , 計算結果為 0 ;
count(統計數): 不包含null; 一般用 * ;
max(最大值): 如果是字符串類型 ,使用字符串排序;
min(最小值) :
avg(平均值): 指定列不是數值類型 , 計算結果為 0 ;
5、分組查詢
group by 被分組的字段.[Having 條件]
where : 分組查詢前過濾 .
having: 分組查詢后過濾 .
注意; 被分組的字段,一般都寫在select后作為查詢條件 , 方便查看
6、分頁查詢(了解)
使用關鍵字limit
格式一:只要前x條數據
select * from 表名 limit x;
格式二:分頁查詢
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,'SMITH','CLERK',7902,'1980-12-17',800,NULL,20);
INSERT INTO emp VALUES(7499,'ALLEN','SALESMAN',7698,'1981-02-20',1600,300,30);
INSERT INTO emp VALUES(7521,'WARD','SALESMAN',7698,'1981-02-22',1250,500,30);
INSERT INTO emp VALUES(7566,'JONES','MANAGER',7839,'1981-04-02',2975,NULL,20);
INSERT INTO emp VALUES(7654,'MARTIN','SALESMAN',7698,'1981-09-28',1250,1400,30);
INSERT INTO emp VALUES(7698,'BLAKE','MANAGER',7839,'1981-05-01',2850,NULL,30);
INSERT INTO emp VALUES(7782,'CLARK','MANAGER',7839,'1981-06-09',2450,NULL,10);
INSERT INTO emp VALUES(7788,'SCOTT','ANALYST',7566,'1987-04-19',3000,NULL,20);
INSERT INTO emp VALUES(7839,'KING','PRESIDENT',NULL,'1981-11-17',5000,NULL,10);
INSERT INTO emp VALUES(7844,'TURNER','SALESMAN',7698,'1981-09-08',1500,0,30);
INSERT INTO emp VALUES(7876,'ADAMS','CLERK',7788,'1987-05-23',1100,NULL,20);
INSERT INTO emp VALUES(7900,'JAMES','CLERK',7698,'1981-12-03',950,NULL,30);
INSERT INTO emp VALUES(7902,'FORD','ANALYST',7566,'1981-12-03',3000,NULL,20);
INSERT INTO emp VALUES(7934,'MILLER','CLERK',7782,'1982-01-23',1300,NULL,10);
-- 向部門表添加數據 , 采用批量插入數據, 用 , 號隔開 .
INSERT INTO dept VALUES(10, 'ACCOUNTING', 'NEW YORK')
,(20, 'RESEARCH', 'DALLAS'),(30, 'SALES', 'CHICAGO'),
(40, 'OPERATIONS', 'BOSTON');
-- 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 '1981-02-01' AND '1987-05-01';
-- 5. 選擇在20或30號部門工作的員工姓名和部門號
SELECT ename 員工姓名,deptno 部門號 FROM emp WHERE deptno IN(20 , 30 );
-- 6. 選擇在1981年雇用的員工的姓名和雇用時間
SELECT ename 員工姓名,hiredate 雇傭時間 FROM emp WHERE hiredate LIKE('1981-__-__');
-- 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 '__A%';
-- 10. 選擇姓名中有字母a和e的員工姓名
SELECT ename 員工姓名 FROM emp WHERE ename LIKE '%A%' OR '%E%'
-- 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中mysql查詢語句是什么的所有內容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內容對大家有所幫助,如果還想學習更多知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。