【SQL】查询练习

/* 查询结果按照价格降序名称升序排序显示*/
SELECT prod_id,prod_price,prod_name
FROM products
ORDER BY prod_price DESC,prod_price;

--条件查询
/*检索价格小于10的产品的名称和价格*/
SELECT prod_name,prod_price
FROM products
WHERE prod_price<10;
/*检索价格介于5到10之间的产品的名称和价格*/
SELECT prod_name,prod_price
FROM products
WHERE prod_price BETWEEN 5 AND 10;
/*检索电子邮箱为空的顾客名称*/
SELECT cust_name
FROM customers
WHERE cust_email IS NULL;
/*从products表中检索供应商为DLL01并且价格小于4的产品id、价格、名称,并按照价格、名称升序排序显示*/
SELECT prod_id,prod_name,prod_price
FROM products
WHERE vend_id='DLL01' AND prod_price<=4
ORDER BY prod_price,prod_name;
/*上句and改为or就是或者*/
/*从products表中检索供应商为DLL01或者BRS01、同时价格大于等于10的产品价格、名称*/
/*如果不加括号那么就会检索出供应商为BRS01同时价格大于等于10和供应商为DLL01的全部产品*/
/*因为AND优先级大于OR*/
SELECT prod_name,prod_price
FROM products
WHERE (vend_id='DLL01' OR vend_id='BRS01')
AND prod_price>=10;
/*检索出DLL01和BRS01供应商的产品的名称和价格*/
SELECT prod_name,prod_price
FROM products
WHERE vend_id IN ('DLL01' , 'BRS01')
ORDER BY prod_name;
/*效果同上*/
SELECT prod_name,prod_price
FROM products
WHERE vend_id='DLL01' OR vend_id='BRS01'
ORDER BY prod_name;

/*检索出不是由DLL01供应商提供的产品的名称和价格*/
SELECT prod_name,prod_price
FROM products
WHERE NOT vend_id='DLL01';

/*检索出产品名称由fish起头的产品的名称和id*/
SELECT prod_name,prod_id
FROM products
WHERE prod_name LIKE 'fish%';

/*检索出产品名称任意位置包含bean bag的产品的名称和id*/
SELECT prod_name,prod_id
FROM products
WHERE prod_name LIKE '%bean bag%';

/*f%y表示开头是f结尾是y*/ 

/*检索出产品名称前两个字符随意,后变字符为inch teddy bear 的产品的名称和id*/
/*_只能代替一个字符,%可以代替任意长度字符*/
SELECT prod_name,prod_id
FROM products
WHERE prod_name LIKE '__ inch teddy bear';

/*生成新列,新列格式为:供应商名称(供应商国家),并将新列命名为vend_title*/
SELECT concat(vend_name, ' (',vend_country,')') AS vend_title
FROM vendors
ORDER BY vend_name;

/*检索订单号为20008的产品id、数量、单价,同时生成新列计算不同产品总价并命名为expanded_price*/
SELECT prod_id,quantity,item_price,
quantity*item_price AS expanded_price
FROM orderitems
WHERE order_num=20008;

/*查询现在的时间*/
SELECT NOW();

/*检索发音类似于Michael green的联系名*/
SELECT cust_name, cust_contact
FROM customers
WHERE SOUNDEX(cust_contact) = SOUNDEX('Michael Green');

/*检索订单年份为2012年的全部订单号*/
SELECT order_num
FROM orders
WHERE YEAR(order_date)=2012;

/*返回products表中供应商为DLL01的所有产品的平均产品价格(列平均)*/
SELECT AVG(prod_price) AS avg_price
FROM products
WHERE vend_id='DLL01';

--count(*)数上了null,count(属性名)没数null
SELECT COUNT(*) AS num_cust
FROM customers;

--找最大值用MAX,最小值用MIN
SELECT MAX(prod_price) AS max_price
FROM products;

--和用SUM,也可以用于合计计算值
SELECT SUM(item_price*quantity) AS total_price
FROM orderitems
WHERE order_num=20005;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值