sql查询基本语法

#查询所有学生信息
SELECT *FROM STUDENT;
#查询指定列
SELECT studentNo,studnetName FROM student;
#可以为表 列取别名
SELECT  studentNo 学号,studnetName 姓名 FROM student;

SELECT  studentNo 学号,studnetName 姓名 FROM student;

SELECT  studentNo 学号,studnetName 姓名 FROM student ;
SELECT CONCAT( 姓名, 名字,电话) AS 新名字 FROM studnet;

-- 查看谁参加了考试
SELECT DISTINCT studntNo FROM result;
-- 查询了所有的学生参加考试的次数
-- DISTINCT去除重复项
-- all系统默认 有重复查询的值

#SELECT查询中可以出现表达式
SELECT @@auto_increment_incremnt


-- 查版本号
SELECT VERSION();

SELECT 1000*3-1 AS 计算结果;

-- SELECT 后面可以跟 表达式的需求
#学员考试集体提分1分
SELECT *FROM result;#查询成绩表
SELECT studnetNo,studentResult+1 as '提分后' FROM result;

-- 可以由一个或多个表达式组成
-- 常用 and OR

-- like 模糊查询

#满足条件的查询 where条件

SELECT studentNo, studentResult FROM result
 WHERE studentResult>=95 and studentResult<=100;

   
-- 模糊查询
SELECT studentNo, studentName FROM studnet;
-- 查询性 李
-- like in null BETWEEN
-- 结合 通配符 (%0到任意数)( —_ 一个字符)后面可以加两个通配符 例如%%%%  ____ 也可以%文%这样使用
WHERE studentName LIKE '李%';

WHERE studentName LIKE '李_';

WHERE studentName LIKE '%李%';

WHERE studentName LIKE '_李_';

SELECT studnetno,studnetName FROM student;

--  一些特殊的符号需要转义\%\  \_
WHERE studnetno like '%:%%' ESCAPE ':';

-- 在多个值里面匹配一个值

SELECT studentNo, studentName FROM studnet;
WHERE studnetno IN(1000,10001,1002,1003);


SELECT studentNo, studentName FROM studnet;
WHERE address IN('北京','南京','苏州','扬州');

#null 空的意思
-- 必须写is null是空的
-- IS NOT NULL查找不是空的
-- 表名或字符串=''这样查询      空字符串不是null
SELECT *FROM studnet;

-- 连接查询可以连接多个不同表之间的数据

-- inner JOIN 内连接 
-- OUTER JOIN 外连接
-- left JOIN 左外连接
-- right JOIN 右外连接
-- 自连接
-- 等值连接


-- 非等值连接
-- 左手边的行数*右手边的行数

-- 内连接 等同于等值连接
SELECT *FROM studnet;
SELECT *FROM result;
SELECT s.studentno,studntname,subjectno,studentresult
FROM student AS s
INNER JOIN result AS r 
on r.studentno=s.studentno

-- 以左表为基表,匹配右表一一比对,匹配到没有的以null,填充
-- 左外连接 
SELECT *FROM studnet;
SELECT *FROM result;
SELECT s.studentno,studntname,subjectno,studentresult
FROM student AS s
left JOIN result AS r 
on r.studentno=s.studentno

-- 以右表为基表,匹配左表表一一比对,匹配到没有的以null,填充
-- 右外连接 
SELECT *FROM studnet;
SELECT *FROM result;
SELECT s.studentno,studntname,subjectno,studentresult
FROM student AS s
right JOIN result AS r 
on r.studentno=s.studentno

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值