--如果 成绩>100 优
--如果成绩>90 良
select * from TblScore
select 英语成绩=
(case when tEnglish>90 then '良' when tEnglish>100 then'优' end),数学成绩=(case when tMath>90 then '良' when tMath>100 then'优' end) from TblScore
--第二个练习 1 2 3
select * from user5
select 等级=(case when [level]=1 then'骨灰' when [level]=2 then'菜鸟' when [level]=3then '大神' end) from user5
--第三个练习
--6000 5500 4500
select * from MyOrders
select 销售员,销售总金额=SUM(销售数量*销售价格),称号=(
case
when SUM(销售价格*销售数量)>6000
then '金牌'
when SUM(销售价格*销售数量)>5500
then '银牌'
when SUM(销售价格*销售数量)>4500
then '铜牌'
else
'通牌'
end
) from MyOrders
group by 销售员
--收入 支出
select * from test
select number,收入=(
case
when amount>0
then amount
when amount
then 0
end
),支出=(case
when amount
then ABS(amount)
when amount>0
then 0
end) from test
--查询所有的英语成绩 并英语的成绩>90 --子查询做
select * from ( select tEnglish from TblScore ) as t where t.tEnglish>90
--查询性别是男 年龄在20岁以上的
select * from( select * from TblStudent where tSGender='男') as t where t.tSAge>20
--1.查询出班级中所有24岁的男生(子查询)
select * from ( select * from TblStudent where tSGender='男') as t where tSAge=24
--2.查询出高一三班和高二二班的所有学生(子查询)
select * from TblStudent where tSClassId in(
select tClassId from TblClass where tClassName='高一一班' or tClassName='高二二班')
--2.查出黑马一期和黑马二期的所有学生
use MyItcast
select * from student
select * from TblClass
select * from student where TClassId in(select TClassId from TblClass where TClassName='黑马一期' or TClassName='黑马二期' )
--3.查询出的总人数,男同学多少人,数学平均成绩(子查询)
select 总人数=(select COUNT(*)from student) ,男同学多少人=(select COUNT(*) from student where TSGender=1),数学平均成绩=(select AVG(TblScore.TSMath) from TblScore)
--9条到16条的数据
select * from student
select top 8 * from student where TSId not in(select top 8 TSId from student) --
--16 到 26
select top 8 * from student where TSId not in( select top 15 TSId from student)
select * from student
use nononodeleteImportant
select * from TblStudent
--每页三条 查第五页的
select * from (
select * ,编号=ROW_NUMBER() over(order by tSid) from TblStudent ) as newTbl where newTbl.编号 between (5-1)*3+1 and 5*3
--每页9条数据 查询13页的
select * from (
select 编号=ROW_NUMBER() over(order by tSId),* from TblStudent) as t where t.编号 between (13-1)*9+1 and 13*9
select tMath,名次= ROW_NUMBER() over(order by tMath) from TblScore
select tMath,名次=RANK() over(order by tMath) from TblScore --rank相同成绩的排名相同
select * from MyOrders
select 商品名称,行号=ROW_NUMBER() over(partition by 商品名称 order by id) from MyOrders --partition by 分区
--销售员的销售总金额
select * from MyOrders
select 销售员,销售总金额=SUM(销售数量*销售价格) from MyOrders
group by 销售员
--2.统计每个销售员(订单)的销售金额占总销售金额的百分比。
select * ,销售数量*销售价格,
百分比=销售数量*销售价格*1.0/SUM(销售数量*销售价格) over(partition by 销售员 )*100
from MyOrders
--链接查询
--查询这个学生的时候能不能把这个学生所在的班级的名字也显示出来
select TblStudent.tSName,TblStudent.tSAge,TblStudent.tSGender,TblClass.tClassName from TblStudent
inner join TblClass
on TblStudent.tSClassId=TblClass.tClassId
--查询这个学生在哪个班级,他(她)的考试成绩
select TblStudent.tSName,TblStudent.tSGender,TblClass.tClassName,TblScore.tEnglish,TblScore.tMath from TblStudent
inner join TblClass
on TblStudent.tSClassId=TblClass.tClassId
inner join TblScore
on TblStudent.tSId=TblScore.tSId
--创建视图
create view vw_Stu_Cla_Sco_newView
as
select TblStudent.tSName,TblStudent.tSGender,TblClass.tClassName,TblScore.tEnglish,TblScore.tMath from TblStudent
inner join TblClass
on TblStudent.tSClassId=TblClass.tClassId
inner join TblScore
on TblStudent.tSId=TblScore.tSId
--
select * from vw_Stu_Cla_Sco_newView --查询视图
drop view vw_Stu_Cla_Sco_newView --删除视图
--查询年龄超过20岁的学生的姓名、年龄及所在班级
select TblStudent.tSName,TblStudent.tSAge,TblClass.tClassName from TblStudent
inner join
TblClass
on
TblStudent.tSClassId=TblClass.tClassId
inner join
TblScore
on
TblStudent.tSId=TblScore.tSId
where TblStudent.tSAge>20
--
--查询所有学生(参加及未参加考试的都算)及成绩
select * from TblStudent
inner join TblScore
on TblStudent.tSClassId=TblScore.tSId --参加考试的学生
select TblStudent.tSName, TblScore.tMath,TblScore.tEnglish from TblStudent
left join TblScore
on TblStudent.tSClassId=TblScore.tSId --参加考试的学生和没参加考试的学生
select TblStudent.tSName, TblScore.tMath,TblScore.tEnglish from TblStudent
left join TblScore
on TblStudent.tSClassId=TblScore.tSId
where TblScore.tSId is null --没参加考试的学生
--查询所有参加考试的,english分数不为null学生姓名、年龄及成绩
select TblStudent.tSName, TblScore.tMath,TblScore.tEnglish from TblStudent
inner join TblScore
on TblStudent.tSClassId=TblScore.tSId
where TblScore.tEnglish is not null --参加考试的学生,英语成绩不为null
--练习3:查询所有学生(参加和未参加考试)的学生姓名、年龄、成绩,如果没有参加考试显示缺考,如果小于english&math60分显示不及格
use nononodeleteImportant
select TblStudent.tSName,TblStudent.tSAge,英语成绩=(case
when tEnglish is null
then '缺考'
else
CONVERT(nvarchar,tEnglish)
end),数学成绩=(case
when tMath IS null
then '缺考'
else
CONVERT(nvarchar,tMath)
end ),是否及格=(case when tEnglish>60 and tMath>60 then '及格'
else '不及格'
end) from TblStudent left join
TblScore on TblStudent.tSId=TblScore.tSId
select * from TblArea
select t.AreaId,t.AreaName,t1.AreaName from TblArea as t inner join TblArea as t1 on t.AreaPId=t1.AreaId
--声明变量
declare @number int ;
set @number=30;
print @number
select @number
if(@number=30)
begin
print '好帅'
end
else
begin
select '真心恶心'
end
declare @avg int =0
set @avg=(select AVG(tMath) from TblScore)
if(@avg>60)
begin
select top 3 * from TblScore order by tMath desc
end
else
begin
select top 3 * from TblScore order by tMath asc
end

データベースの最適化では、クエリ要件に従ってインデックス作成戦略を選択する必要があります。1。クエリに複数の列が含まれ、条件の順序が固定されている場合、複合インデックスを使用します。 2。クエリに複数の列が含まれているが、条件の順序が修正されていない場合、複数の単一列インデックスを使用します。複合インデックスは、マルチコラムクエリの最適化に適していますが、単一列インデックスは単一列クエリに適しています。

MySQLスロークエリを最適化するには、slowquerylogとperformance_schemaを使用する必要があります。1。LowerQueryLogを有効にし、しきい値を設定して、スロークエリを記録します。 2。performance_schemaを使用してクエリの実行の詳細を分析し、パフォーマンスのボトルネックを見つけて最適化します。

MySQLとSQLは、開発者にとって不可欠なスキルです。 1.MYSQLはオープンソースのリレーショナルデータベース管理システムであり、SQLはデータベースの管理と操作に使用される標準言語です。 2.MYSQLは、効率的なデータストレージと検索機能を介して複数のストレージエンジンをサポートし、SQLは簡単なステートメントを通じて複雑なデータ操作を完了します。 3.使用の例には、条件によるフィルタリングやソートなどの基本的なクエリと高度なクエリが含まれます。 4.一般的なエラーには、SQLステートメントをチェックして説明コマンドを使用することで最適化できる構文エラーとパフォーマンスの問題が含まれます。 5.パフォーマンス最適化手法には、インデックスの使用、フルテーブルスキャンの回避、参加操作の最適化、コードの読み取り可能性の向上が含まれます。

MySQL非同期マスタースレーブレプリケーションにより、BINLOGを介したデータの同期が可能になり、読み取りパフォーマンスと高可用性が向上します。 1)マスターサーバーレコードはBinlogに変更されます。 2)スレーブサーバーは、I/Oスレッドを介してBINLOGを読み取ります。 3)サーバーSQLスレッドは、BINLOGを適用してデータを同期させます。

MySQLは、オープンソースのリレーショナルデータベース管理システムです。 1)データベースとテーブルの作成:createdatabaseおよびcreateTableコマンドを使用します。 2)基本操作:挿入、更新、削除、選択。 3)高度な操作:参加、サブクエリ、トランザクション処理。 4)デバッグスキル:構文、データ型、およびアクセス許可を確認します。 5)最適化の提案:インデックスを使用し、選択*を避け、トランザクションを使用します。

MySQLのインストールと基本操作には、次のものが含まれます。1。mysqlをダウンロードしてインストールし、ルートユーザーパスワードを設定します。 2。sqlコマンドを使用して、createdatabaseやcreateTableなどのデータベースとテーブルを作成します。 3. CRUD操作を実行し、挿入、選択、更新、コマンドを削除します。 4.パフォーマンスを最適化し、複雑なロジックを実装するためのインデックスとストアドプロシージャを作成します。これらの手順を使用すると、MySQLデータベースをゼロから構築および管理できます。

Innodbbufferpoolは、データとインデックスページをメモリにロードすることにより、MySQLデータベースのパフォーマンスを向上させます。 1)データページは、ディスクI/Oを削減するためにBufferPoolにロードされます。 2)汚れたページは、定期的にディスクにマークされ、リフレッシュされます。 3)LRUアルゴリズム管理データページの排除。 4)読み出しメカニズムは、可能なデータページを事前にロードします。

MySQLは、インストールが簡単で、強力で管理しやすいため、初心者に適しています。 1.さまざまなオペレーティングシステムに適した、単純なインストールと構成。 2。データベースとテーブルの作成、挿入、クエリ、更新、削除などの基本操作をサポートします。 3.参加オペレーションやサブクエリなどの高度な機能を提供します。 4.インデックス、クエリの最適化、テーブルパーティション化により、パフォーマンスを改善できます。 5。データのセキュリティと一貫性を確保するために、バックアップ、リカバリ、セキュリティ対策をサポートします。


ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

MinGW - Minimalist GNU for Windows
このプロジェクトは osdn.net/projects/mingw に移行中です。引き続きそこでフォローしていただけます。 MinGW: GNU Compiler Collection (GCC) のネイティブ Windows ポートであり、ネイティブ Windows アプリケーションを構築するための自由に配布可能なインポート ライブラリとヘッダー ファイルであり、C99 機能をサポートする MSVC ランタイムの拡張機能が含まれています。すべての MinGW ソフトウェアは 64 ビット Windows プラットフォームで実行できます。

PhpStorm Mac バージョン
最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

SublimeText3 中国語版
中国語版、とても使いやすい

SublimeText3 英語版
推奨: Win バージョン、コードプロンプトをサポート!

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境
