SQL 单表多表查询

本文详细介绍了SQL查询的基础,包括单表的条件、排序、分组和分页查询,以及如何进行多表联合查询。通过案例一展示了具体的多表查询实践,是理解SQL查询语法和提升数据库操作技能的实用教程。
摘要由CSDN通过智能技术生成

总结 :  

     条件查询 :  SELECT 字段列表 FROM 表名 WHERE 条件列表;

 基础查询

-- 删除stu表
DROP TABLE IF EXISTS stu;


-- 创建stu表`ssm_db``stu`
CREATE TABLE stu (
 id INT, -- 编号
 NAME VARCHAR(20), -- 姓名
 age INT, -- 年龄
 sex VARCHAR(5), -- 性别
 address VARCHAR(100), -- 地址
 math DOUBLE(5,2), -- 数学成绩
 english DOUBLE(5,2), -- 英语成绩
 hire_date DATE -- 入学时间
);

-- 添加数据
INSERT INTO stu(id,NAME,age,sex,address,math,english,hire_date) 
VALUES 
(1,'马运',55,'男','杭州',66,78,'1995-09-01'),
(2,'马花疼',45,'女','深圳',98,87,'1998-09-01'),
(3,'马斯克',55,'男','香港',56,77,'1999-09-02'),
(4,'柳白',20,'女','湖南',76,65,'1997-09-05'),
(5,'柳青',20,'男','湖南',86,NULL,'1998-09-01'),
(6,'刘德花',57,'男','香港',99,99,'1998-09-01'),
(7,'张学右',22,'女','香港',99,99,'1998-09-01'),
(8,'德玛西亚',18,'男','南京',56,65,'1994-09-02');
SELECT * FROM stu;
-- 基础查询 ------------------------
-- 查询 name age 两列
SELECT NAME,age FROM stu;
-- 查询地址信息
SELECT address FROM stu;
-- 去除重复记录 
SELECT DISTINCT address FROM stu;
-- 起别名AS别名可以省略 , 查询姓名,数学成绩 , 英语成绩 
SELECT NAME 姓名, math AS 数学成绩, english AS 英语成绩 FROM stu;

条件查询

-- 条件查询 --------------------------------------------------------------------
-- 1.查询年龄大于20岁的学员信息	
SELECT * FROM stu WHERE age > 20;

-- 2. 查询年龄大于等于20岁的学员信息
SELECT * FROM stu WHERE age >= 20;

-- 3.查询年龄大于等于20岁 并且 年龄 小于等于 30岁 的学员信息
SELECT * FROM stu WHERE age >= 20 AND age <=30;
SELECT * FROM stu WHERE age >= 20 && age <= 30;

-- 4.查询入学日期在'1998-09-01' 到 '1999-09-01'  之间的学员信息
SELECT * FROM stu WHERE hire_date BETWEEN '1998-09-01' AND '1999-09-01';

-- 5.查询年龄等于18岁的学员信息
SELECT * FROM stu WHERE age = 18;

-- 6.查询年龄不等于18岁的学员信息
SELECT * FROM stu WHERE age != 18;
SELECT * FROM stu WHERE age <> 18;

-- 7.查询年龄等于18岁 或者 年龄等于20岁 或者 年龄等于22岁的学员信息
SELECT * FROM stu WHERE age = 18 OR age = 20 OR age = 22;
SELECT * FROM stu WHERE age IN(18,20,22);

-- 8. 查询英语成绩为 null的学员信息  
SELECT * FROM stu WHERE english IS NULL; 


-- 模糊查询 like =============================================================
/*
   通配符
     (1) _:代表单个任意字符
     (2) %:代表任意个数字符
*/
-- 1. 查询姓'马'的学员信息 
SELECT * FROM stu WHERE NAME LIKE '马%';

-- 2. 查询第二个字是 '花
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值