MySQL面试试题(一)

本文整理了MySQL中的数据过滤技巧,包括WHERE子句的使用,如单个值、范围值和空值的检查,以及AND、OR、IN和NOT等操作符的应用。同时,介绍了经典面试题的实战部分,帮助读者掌握数据库操作的核心知识。
摘要由CSDN通过智能技术生成

开始整理数据库的相关知识,分为6个系列。每一次总结流程如下:首先总结一个MySQL常用的数据操作方式,接着是对经典的面试试题进行实际操作。注:前面的总结不是全部的知识点,分为4-5个章节进行总结。

一、过滤数据与数据过滤

1. 过滤数据:

主要是使用SELECT语句的WHERE子句指定搜索条件
检查单个值:

SELECT   prod_name,prod_price
FROM     products
WHERE    prod_name  =  'fuses';

不匹配检查:

SELECT   vend_id,prod_name
FROM     products
WHERE    vend_id  <>  1003;

范围值检查:

SELECT   prod_name,prod_price
FROM     products
WHERE    prod_price  BETWEEN  5  AND  10;

空值检查:

SELECT   prod_name
FROM     products
WHERE    prod_name  IS  NULL;

WHERE子句操作符总结:
在这里插入图片描述

2.数据过滤:

WHERE子句进行组合以建立功能更强的更高级的搜索条件,主要是一些操作符的用法
AND操作符: 相当于且,同时满足

SELECT   prod_id,prod_price,prod_name
FROM     products
WHERE    vend_id  =  1003  AND  prod_price  <= 10;

OR操作符: 匹配任一条件,而不是前部,相当于或

SELECT   prod_name,prod_price
FROM     products
WHERE    vend_id  =  1002  OR  vend_id  =  1003;

注意:SQL像多数语言一样,在处理OR操作符之前,优先处理AND操作符,所以,当有多个AND和OR组合时,适当的使用圆括号可以避免一些错误的情况发生。

SELECT   prod_name,prod_price
FROM     products
WHERE    (vend_id  =  1002  OR  vend_id  =  1003)  AND  prod_price  >=10;
-- 如果不加圆括号,就会优先计算后面的。

IN操作符: 指定条件的取值范围

SELECT   prod_name,prod_price
FROM     products
WHERE    vend_id    IN  (1002,1003)
ORDER BY prod_name;

NOT操作符: 否定它之后所跟的任何条件

SELECT   prod_name,prod_price
FROM     products
WHERE    vend_id    NOT  IN  (1002,1003)
ORDER BY prod_name;

二、经典面试题1-15

1.首先创建初始表格
USE studydata;
-- 创建学生表
CREATE TABLE Students(
    Sid       INT          NOT  NULL  PRIMARY KEY,
    Sname     VARCHAR(20)  NOT  NULL,
    Sage      date         NOT  NULL,
    Ssex
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值