SQLクエリ(単一テーブルのクエリ)

クリエイティブコモンズライセンス 著作権:帰属、紙ベースを作成するために他人を許可し、(同じライセンスで元のライセンス契約に基づいて用紙配布する必要がありますクリエイティブコモンズ

 

ディレクトリ

目標

準備:

基本データ:

これは単純なクエリである:(彼が実践しようとしたことを直接彼のエディタで直接コピー条件)

条件のお問い合わせ:

並び替えクエリ:

集計クエリ:(横クエリ、コラム)

クエリのグループ化:


目標

基本的な練習に焦点を当て、このブログ、単純なクエリ、クエリの条件、クエリを並べ替え、お問い合わせをグループ化を組み合わせたクエリ、集計クエリについて。各クエリは、あなたが初心者であれば、少なくとも3回以上書くことが推奨され、対応する小さな例があります。予備データの準備、私はここに準備ができています、時間は、データベースを再構築する無駄にテーブルを構築し、データや他の操作を挿入する必要が、私たちの目標は、単一テーブルのクエリのためにマスターすることはありません。

準備:

 まず、基本的なデータ、自分のユーザーベースは、クエリの次のシリーズを実行します。条件のお問い合わせは、私はあなたの練習を促進するために、特別な外付けします。私はsqlyongを使用しています。

基本データ:

CREATE DATABASE cyl;
USE cyl;

#创建商品表:
CREATE TABLE product(
    -- 商品主键
	pid INT PRIMARY KEY,
    -- 商品名称
	pname VARCHAR(20),
    -- 商品价格
	price DOUBLE,
    -- 商品分类
	category_id VARCHAR(32)
);
INSERT INTO product(pid,pname,price,category_id) VALUES(1,'联想',5000,'c001');
INSERT INTO product(pid,pname,price,category_id) VALUES(2,'海尔',3000,'c001');
INSERT INTO product(pid,pname,price,category_id) VALUES(3,'雷神',5000,'c001');
INSERT INTO product(pid,pname,price,category_id) VALUES(4,'JACK JONES',800,'c002');
INSERT INTO product(pid,pname,price,category_id) VALUES(5,'真维斯',200,'c002');
INSERT INTO product(pid,pname,price,category_id) VALUES(6,'花花公子',440,'c002');
INSERT INTO product(pid,pname,price,category_id) VALUES(7,'劲霸',2000,'c002');
INSERT INTO product(pid,pname,price,category_id) VALUES(8,'香奈儿',800,'c003');
INSERT INTO product(pid,pname,price,category_id) VALUES(9,'相宜本草',200,'c003');
INSERT INTO product(pid,pname,price,category_id) VALUES(10,'面霸',5,'c003');
INSERT INTO product(pid,pname,price,category_id) VALUES(11,'好想你枣',56,'c004');
INSERT INTO product(pid,pname,price,category_id) VALUES(12,'香飘飘奶茶',1,'c005');
INSERT INTO product(pid,pname,price,category_id) VALUES(13,'果9',1,NULL);

##クエリ#エイリアスクエリキーワード(省略可能として)表の別名として使用されている商品貿易名および商品価格のすべてを照会する:(省略することができるよう)...#エイリアスクエリキーワードは次のように使用されています。列の別名:全商品10ディスプレイの価格:##が重複クエリ結果が式(動作クエリ)で削除します。これは単純なクエリである:(彼が実践しようとしたことを直接彼のエディタで直接コピー条件)

  • #(注エイリアス)
  • すべての商品について#クエリ。    
  • #クエリの商号および商品価格。
  • #エイリアスクエリキーワードを(省略することができるよう)表の別名として使用されます。
  • #エイリアスクエリキーワードを(省略することができるよう)列の別名として使用されます。
  • #重複した値を削除します。
  • 全ての商品10ディスプレイの価格:#クエリの結果は、式(動作クエリ)です。 
#查询所有的商品.
SELECT *FROM product;	
#查询商品名和商品价格.(这里我忘记,(pname,price)逗号)
SELECT pname,price FROM product;
#别名查询.使用的关键字是as(as可以省略的).表别名:
  #select pname "电脑",price "价格" from product;
   SELECT pname,price FROM product AS p;
#别名查询.使用的关键字是as(as可以省略的).列别名:
SELECT pname AS n FROM product AS p;

#去掉重复值.
SELECT DISTINCT price FROM product;

#查询结果是表达式(运算查询):将所有商品的价格+10元进行显示. 
SELECT price+10 FROM product;

条件のお問い合わせ:

#(ない、で、で、されていません) この4ウェイを使用し、私がするのを忘れ
#クエリ商品名「プレイボーイ」の全情報:
800の#クエリ商品価格
#800料金を見るないすべての商品の
# $ 60の料金を確認することは、情報のすべての項目よりも大きい
200-1000すべての商品の間の#チェック価格
#クエリのすべての商品または商品200 800
から始まるすべての項目#クエリ「香港」
第2ワードクエリの#をすべての商品を「欲しい」
#財財分類されていない
クエリの#の商品分類を

#查询商品名称为“花花公子”的商品所有信息:
SELECT *FROM product WHERE pname="花花公子";

#查询价格为800商品
SELECT *FROM product WHERE price=800;

#查询价格不是800的所有商品(第三种方法,需要注意啦)
SELECT *FROM product WHERE price<>800;
SELECT *FROM product WHERE price!=800;
SELECT *FROM product WHERE NOT(price=800);

#查询商品价格大于60元的所有商品信息
SELECT *FROM product WHERE price>800;

#查询商品价格在200到1000之间所有商品
SELECT *FROM product WHERE price BETWEEN 200 AND 1000;
SELECT *FROM product WHERE price>=200 AND price<=1000;

#查询商品价格是200或800的所有商品
SELECT *FROM product WHERE price=200 OR price=800;
SELECT *FROM product WHERE price IN(200,800);

#查询以'香'开头的所有商品(我把顺序竟然记错了)
SELECT *FROM product WHERE pname LIKE "香%";

#查询第二个字为'想'的所有商品
SELECT *FROM product WHERE pname LIKE "_想%";

#查询含有为'想'的所有商品
SELECT *FROM product WHERE pname LIKE "%想%";

#查询第3个字为'你'的所有商品
SELECT *FROM product WHERE pname LIKE "__你%";

#商品没有分类的商品
#SELECT *FROM product WHERE category_id=null;(这种方式是错误的)
SELECT *FROM product WHERE category_id IS NULL;

#查询有分类的商品
SELECT *FROM product WHERE category_id IS NOT NULL;

並び替えクエリ:

ソートフィールドのASC BYテーブル名ORDER FROM #SELECT * | DESC;
#ASC昇順(デフォルト)
#DESC降順

#を使用(降順)
価格に基づいて#(降順)分類に上(降順)
(繰り返す)財の価格#ディスプレイを、および(降順)

#使用价格排序(降序)
SELECT * FROM product ORDER BY price DESC;

#在价格排序(降序)的基础上,以分类排序(降序)
SELECT * FROM product ORDER BY category_id DESC;

#显示商品的价格(去重复),并排序(降序)

SELECT DISTINCT price FROM product ORDER BY price DESC;

集計クエリ:(横クエリ、コラム)

集計フィールド機能、合計、平均、カウント、最大 、最小、。#のクエリ商品総記事数の
合計ストリップ数200の製品よりも大きい#料金をチェックする
和#クエリは、すべての商品のC001 『として分類されている
#クエリは』として分類されていますすべての商品に対するC002「の平均価格
最高価格と最低価格#商品のお問い合わせ

SELECT *FROM product;
#查询商品的总条数
SELECT COUNT(*) FROM product;
 
#查询价格大于200商品的总条数
SELECT COUNT(*) FROM product WHERE price>200;

#查询分类为'c001'的所有商品的总和
SELECT SUM(price) FROM product WHERE category_id='c001';

#查询分类为'c002'所有商品的平均价格
SELECT AVG(price) FROM product WHERE category_id='c002';

#查询商品的最大价格和最小价格
SELECT MIN(price),MAX(price) FROM product;

クエリのグループ化:

条件をグループ化することによって基を有するテーブルパケットフィールドからの選択フィールド1、フィールド2 ...;
各項目番号の#統計的分類
位商品の各分類の数をカウントし、その数だけ表示情報が1よりも大きいです

#统计各个分类商品的个数
SELECT category_id, COUNT(*) FROM product GROUP BY  category_id;

#统计各个分类商品的个数,且只显示个数大于1的信息
SELECT category_id,COUNT(*) FROM product GROUP BY category_id HAVING COUNT(*)>1;

 

 

 

 

 

 

おすすめ

転載: blog.csdn.net/longyanchen/article/details/93096834
おすすめ