天天看點

SQL語句羅列

-- 建立表

CREATE TABLE student3 (

  id INT,

  NAME VARCHAR(20),

  age INT,

  sex VARCHAR(5),

  address VARCHAR(100),

  math INT,

  english INT

);

-- 插入記錄

INSERT INTO student3(id,NAME,age,sex,address,math,english) VALUES 

(1,'馬雲',55,'男','杭州',66,78),

(2,'馬化騰',45,'女','深圳',98,87),

(3,'馬景濤',55,'男','香港',56,77),

(4,'柳岩',20,'女','湖南',76,65),

(5,'柳青',20,'男','湖南',86,NULL),

(6,'劉德華',57,'男','香港',99,99),

(7,'馬德',22,'女','香港',99,99),

(8,'德瑪西亞',18,'男','南京',56,65);

# 關系運算符 mysql 特有的

-- 查詢math分數大于80分的學生

SELECT * FROM student3 WHERE math > 80;

-- 查詢english分數小于或等于80分的學生

SELECT * FROM student3 WHERE english <=80;

-- 查詢age等于20歲的學生

SELECT * FROM student3 WHERE age =20;

-- 查詢age不等于20歲的學生

SELECT * FROM student3 WHERE age != 20;

SELECT * FROM student3 WHERE age <> 20;

# 邏輯運算符

-- 查詢age大于35且性别為男的學生(兩個條件同時滿足)

SELECT * FROM student3 WHERE age >35 AND sex ='男';

-- 查詢age大于35或性别為男的學生(兩個條件其中一個滿足)

SELECT * FROM student3 WHERE age >35 OR sex ='男';

-- 查詢id是1或3或5的學生

SELECT * FROM student3 WHERE id =1 OR id =3 OR id = 5;

-- in關鍵字

-- 再次查詢id是1或3或5的學生

SELECT * FROM student3 WHERE id IN(1,3,5);

-- 查詢id不是1或3或5的學生

SELECT * FROM student3 WHERE id NOT IN(1,3,5);

-- 查詢english成績大于等于77,且小于等于87的學生

SELECT * FROM student3 WHERE english >=77 AND english <=87;

-- between

SELECT * FROM student3 WHERE english BETWEEN 77 AND 87;

# like模糊比對

-- 查詢姓馬的學生

-- = 不可以用了

SELECT * FROM student3 WHERE NAME ='馬';

-- like

SELECT * FROM student3 WHERE NAME LIKE '馬%';

-- 查詢姓名中包含'德'字的學生

SELECT * FROM student3 WHERE NAME LIKE '%德%';

-- 查詢姓馬,且姓名有三個字的學生

SELECT * FROM `student3` WHERE `name` LIKE '馬__';

# 排序

-- 查詢所有資料,使用年齡升序排序

SELECT * FROM student3 ORDER BY age ASC;

SELECT * FROM student3 ORDER BY age ;

-- 查詢所有資料,在年齡降序排序的基礎上,如果年齡相同再以數學成績降序排序

SELECT * FROM student3 ORDER BY age DESC;

SELECT * FROM student3 ORDER BY age DESC ,math DESC;

-- 第一頁

SELECT * FROM student3 LIMIT 0,5;

-- 第二頁

SELECT * FROM student3 LIMIT 5,5;

-- 第三頁

SELECT * FROM student3 LIMIT 10,5;

-- 第N頁 後期 java代碼實作分頁功能 

SELECT * FROM student3 LIMIT (n-1)*顯示個數,顯示個數;